:root{color:#17233c;font-synthesis:none;background:#f5f6fa;font-family:Inter,Aptos,Segoe UI,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select{font:inherit}.app{flex-direction:column;height:100vh;display:flex}header{z-index:5;background:#fff;border-bottom:1px solid #e4e7ec;align-items:center;gap:32px;height:68px;padding:0 20px;display:flex}.brand{align-items:center;gap:10px;width:198px;display:flex}.brand .logo{color:#fff;background:#5b50e6;border-radius:10px;place-items:center;width:36px;height:36px;font-size:20px;font-weight:700;display:grid;box-shadow:0 5px 15px #5b50e633}.brand b,.brand span{display:block}.brand span{color:#818898;text-transform:uppercase;letter-spacing:.12em;font-size:10px}.crumb{flex:1;align-items:center;gap:10px;font-size:13px;display:flex}.crumb span,.crumb i{color:#98a0af}.crumb i{font-style:normal}.crumb em{color:#b85b16;background:#fff0e5;border-radius:20px;margin-left:8px;padding:4px 8px;font-size:11px;font-style:normal}.crumb em.saved{color:#188557;background:#e7f7ef}.actions{align-items:center;gap:8px;display:flex}.actions button,.canvas-controls button{color:#344054;cursor:pointer;background:#fff;border:1px solid #dfe3e9;border-radius:7px;padding:8px 11px;font-size:12px}.actions .primary{color:#fff;background:#5b50e6;border-color:#5b50e6;font-weight:600}.actions .ghost:hover{background:#f8f8fb}.export{display:flex}.export button{border-radius:0}.export button:first-child{border-radius:7px 0 0 7px}.export button:last-child{border-left:0;border-radius:0 7px 7px 0}.workspace{flex:1;min-height:0;display:flex}.left{background:#fff;border-right:1px solid #e4e7ec;flex:none;width:220px;padding:20px 12px}.section-label{letter-spacing:.14em;color:#98a0af;padding:0 10px 8px;font-size:9px;font-weight:700}.section-label.top{margin-top:28px}.nav{text-align:left;color:#697386;cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:10px;width:100%;padding:9px 10px;font-size:13px;display:flex}.nav span{flex:1}.nav small{background:#edf0f5;border-radius:10px;padding:2px 6px;font-size:10px}.nav.active{color:#4d43cb;background:#efedff;font-weight:600}.legend{color:#697386;padding:0 10px;font-size:11px;position:absolute;bottom:22px}.legend b{color:#344054;margin-bottom:10px;display:block}.legend div{margin:8px 0}.legend i{border-radius:50%;width:8px;height:8px;margin-right:8px;display:inline-block}.canvas{background-color:#f5f6fa;background-image:radial-gradient(#cdd2dd 1px,#0000 1px);background-size:22px 22px;flex:1;position:relative;overflow:hidden}.canvas-title{z-index:2;position:absolute;top:24px;left:28px}.canvas-title input{color:#17233c;background:0 0;border:0;display:block}.canvas-title input:first-child{font-size:18px;font-weight:700}.canvas-title input:last-child{color:#7c8493;margin-top:3px;font-size:12px}.stage{width:1700px;height:950px;transition:transform .15s;position:absolute}.lines{position:absolute;inset:0;overflow:visible}.lines path{stroke:#aab2c1;stroke-width:2px;fill:none}.card{cursor:grab;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #dfe3e9;border-radius:10px;width:240px;height:136px;position:absolute;overflow:hidden;box-shadow:0 4px 14px #26324d12}.card:active{cursor:grabbing}.card.selected{border-color:#5b50e6;box-shadow:0 0 0 3px #5b50e633,0 8px 24px #26324d20}.card .stripe{background:var(--accent);height:5px}.card-body{align-items:center;gap:12px;height:94px;padding:13px;display:flex}.avatar{background:color-mix(in srgb,var(--accent) 13%,white);width:43px;height:43px;color:var(--accent);border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:700;display:grid}.card-text{min-width:0}.card-text .unit{color:var(--accent);text-transform:uppercase;letter-spacing:.08em;margin-bottom:3px;font-size:8px;font-weight:700;display:block}.card-text strong{white-space:nowrap;text-overflow:ellipsis;font-size:12px;display:block;overflow:hidden}.card-text p{color:#667085;margin:4px 0 0;font-size:11px}.card footer{color:#8b93a2;border-top:1px solid #edf0f4;justify-content:space-between;align-items:center;height:36px;padding:0 13px;font-size:9px;display:flex}.card footer span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.badge{border-radius:10px;padding:3px 6px;font-weight:700;color:#b56418!important;background:#fff1df!important}.vacant{border-style:dashed}.vacant .avatar{border:1px dashed var(--accent);background:#fff;font-size:20px}.canvas-controls{background:#fff;border:1px solid #dde1e8;border-radius:9px;align-items:center;display:flex;position:absolute;bottom:24px;left:24px;overflow:hidden;box-shadow:0 5px 20px #26324d17}.canvas-controls button{border:0;border-radius:0;font-size:15px}.canvas-controls span{color:#697386;text-align:center;width:46px;font-size:11px}.right{background:#fff;border-left:1px solid #e4e7ec;flex:none;width:320px;position:relative;overflow-y:auto}.panel-head{border-bottom:1px solid #e7e9ee;justify-content:space-between;align-items:center;padding:19px 20px;display:flex}.panel-head small,.panel-head b{display:block}.panel-head small{color:#8b93a2;letter-spacing:.12em;margin-bottom:4px;font-size:8px;font-weight:700}.panel-head b{font-size:13px}.panel-head button{color:#8991a0;cursor:pointer;background:0 0;border:0;font-size:22px}.right>label,.right>.row{margin:16px 20px 0;display:block}.right label{color:#667085;font-size:10px;font-weight:600}.right label>input,.right select{color:#25314a;background:#fff;border:1px solid #dfe3e9;border-radius:6px;width:100%;margin-top:5px;padding:8px 9px;font-size:11px;display:block}.row{gap:9px;display:flex!important}.row label{flex:1;min-width:0}.colors{gap:9px;margin-top:8px;display:flex}.colors button{cursor:pointer;border:2px solid #fff;border-radius:50%;width:23px;height:23px;box-shadow:0 0 0 1px #ddd}.colors button.picked{box-shadow:0 0 0 2px #17233c}.right .check{align-items:center;gap:7px;font-size:11px;display:flex}.right .check input{width:auto;margin:0}.panel-bottom{border-top:1px solid #e7e9ee;margin-top:18px;padding:20px}.danger{color:#c33d3d;cursor:pointer;background:#fff7f7;border:1px solid #f0c6c6;border-radius:7px;width:100%;padding:8px;font-size:11px}.empty{text-align:center;color:#7b8494;padding:100px 30px}.empty div{font-size:40px}.empty b{color:#344054;margin:12px;display:block}.empty p{font-size:12px;line-height:1.5}.open-panel{background:#fff;border:0;border-radius:8px 0 0 8px;padding:12px;position:absolute;top:82px;right:0;box-shadow:0 2px 10px #0001}.toast{z-index:20;color:#fff;background:#17233c;border-radius:8px;padding:10px 16px;font-size:12px;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #17233c44}@media (width<=1050px){.left{display:none}.right{width:280px}.brand{width:auto}.crumb,.actions .ghost{display:none}}@media (width<=720px){.right,.export{display:none}header{padding:0 10px}.actions{margin-left:auto}.canvas-title{top:15px;left:15px}}.user-button{width:34px;font-weight:700;color:#fff!important;background:#17233c!important;border-color:#17233c!important;border-radius:50%!important;height:34px!important;padding:0!important}.splash{background:#f5f6fa;justify-content:center;align-items:center;gap:14px;height:100vh;display:flex}.splash .logo,.auth-brand .logo{color:#fff;background:#5b50e6;border-radius:12px;place-items:center;width:42px;height:42px;font-size:22px;font-weight:700;display:grid;box-shadow:0 8px 22px #5b50e644}.splash b{font-size:14px}.auth-page{background:#fff;grid-template-columns:minmax(420px,42%) 1fr;height:100vh;display:grid}.auth-card{width:min(430px,100% - 64px);margin:auto}.auth-brand{align-items:center;gap:12px;margin-bottom:70px;display:flex}.auth-brand b,.auth-brand span{display:block}.auth-brand b{font-size:19px}.auth-brand span{color:#8b93a2;letter-spacing:.09em;text-transform:uppercase;margin-top:2px;font-size:10px}.auth-copy small{color:#5b50e6;letter-spacing:.13em;font-size:9px;font-weight:700}.auth-copy h1{letter-spacing:-.03em;margin:10px 0;font-size:28px}.auth-copy p{color:#697386;margin:0 0 30px;font-size:13px;line-height:1.55}.auth-card form label{color:#475467;margin:16px 0;font-size:11px;font-weight:600;display:block}.auth-card form input{border:1px solid #d9dee7;border-radius:8px;outline:none;width:100%;margin-top:7px;padding:12px;font-size:13px;display:block}.auth-card form input:focus{border-color:#5b50e6;box-shadow:0 0 0 3px #5b50e617}.auth-submit{color:#fff;cursor:pointer;background:#5b50e6;border:0;border-radius:8px;width:100%;margin-top:8px;padding:12px;font-weight:700}.auth-submit:disabled{opacity:.6}.auth-error{color:#b42318;background:#fff3f3;border:1px solid #f4c7c7;border-radius:7px;padding:10px;font-size:11px}.auth-switch{color:#5b50e6;cursor:pointer;background:0 0;border:0;margin:18px auto;font-size:11px;display:block}.auth-visual{color:#fff;background:linear-gradient(145deg,#111a32,#252251 55%,#5149bc);align-items:flex-end;padding:70px;display:flex;position:relative;overflow:hidden}.auth-visual:before,.auth-visual:after{content:"";border:1px solid #ffffff18;border-radius:50%;position:absolute}.auth-visual:before{width:700px;height:700px;top:-270px;right:-230px}.auth-visual:after{width:430px;height:430px;top:-90px;right:-60px}.auth-visual div{z-index:1;max-width:540px;position:relative}.auth-visual span{letter-spacing:.16em;color:#b9b5ff;font-size:10px}.auth-visual h2{letter-spacing:-.04em;margin:16px 0;font-size:48px;line-height:1.05}.auth-visual p{color:#d6d5e8;max-width:440px;font-size:15px;line-height:1.6}@media (width<=850px){.auth-page{display:block}.auth-card{padding-top:45px}.auth-visual{display:none}.auth-brand{margin-bottom:45px}}.view-switch{background:#f0f2f6;border-radius:8px;flex:none;padding:3px;display:flex}.view-switch button{color:#697386;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:6px 9px;font-size:10px}.view-switch button.active{color:#344054;background:#fff;font-weight:700;box-shadow:0 1px 4px #17233c18}.canvas{cursor:grab}.canvas.panning{cursor:grabbing}.team-connector{pointer-events:none;border-left:1.5px dashed #aab2c1;width:0;position:absolute}.team-card{border:1px solid color-mix(in srgb,var(--accent) 35%,#dfe3e9);pointer-events:none;background:#fff;border-radius:8px;align-items:center;gap:10px;width:240px;height:56px;padding:8px 12px;display:flex;position:absolute;overflow:hidden;box-shadow:0 4px 13px #26324d14}.team-card:before{content:"";background:var(--accent);border-radius:0 3px 3px 0;width:3px;position:absolute;top:9px;bottom:9px;left:0}.team-avatar{background:color-mix(in srgb,var(--accent) 13%,white);width:32px;height:32px;color:var(--accent);border-radius:50%;flex:none;place-items:center;font-size:9px;font-weight:700;display:grid}.team-card>div:last-child{flex:1;grid-template-columns:1fr auto;align-items:center;column-gap:12px;min-width:0;display:grid}.team-card strong,.team-card span,.team-card small{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.team-card strong{color:#17233c;grid-column:1;font-size:10px}.team-card span{color:#667085;grid-column:1;margin-top:3px;font-size:8px}.team-card small{color:#9aa1ae;grid-area:1/2/3;max-width:75px;font-size:7px}.team-editor{border-top:1px solid #e7e9ee;margin-top:20px;padding:18px 20px}.team-editor-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.team-editor-head small,.team-editor-head b{display:block}.team-editor-head small{color:#8b93a2;letter-spacing:.12em;font-size:8px;font-weight:700}.team-editor-head b{margin-top:3px;font-size:12px}.team-editor-head button{color:#4d43cb;cursor:pointer;background:#fff;border:1px solid #d8dce4;border-radius:6px;padding:6px 8px;font-size:9px;font-weight:700}.member-editor{background:#f9fafb;border:1px solid #e0e4ea;border-radius:8px;margin:9px 0;padding:9px}.member-editor-title{justify-content:space-between;align-items:center;margin-bottom:7px;display:flex}.member-editor-title span{color:#5147cf;background:#eceafe;border-radius:50%;place-items:center;width:24px;height:24px;font-size:8px;font-weight:700;display:grid}.member-editor-title button{color:#a0a6b2;cursor:pointer;background:0 0;border:0;font-size:16px}.member-editor input{color:#344054;background:#fff;border:1px solid #dde1e7;border-radius:5px;width:100%;margin-top:5px;padding:6px 7px;font-size:9px;display:block}@media (width<=1250px){.view-switch{display:none}}.actions .active-tool{color:#087f7b!important;background:#e9f8f7!important;border-color:#72c7c2!important}.compact-card{text-align:center;cursor:grab;border-radius:4px;flex-direction:column;justify-content:center;width:180px;height:76px;padding:9px 10px 12px;display:flex}.compact-card .compact-type{text-transform:uppercase;letter-spacing:.09em;color:#8b93a2;margin-bottom:5px;font-size:7px;line-height:1}.compact-card .compact-title{color:#17233c;max-height:25px;font-size:10px;line-height:1.2;display:block;overflow:hidden}.compact-card .compact-person{color:#697386;white-space:nowrap;text-overflow:ellipsis;min-height:8px;margin-top:4px;font-size:7px;overflow:hidden}.compact-card .compact-stripe{background:var(--accent);height:6px;position:absolute;bottom:2px;left:2px;right:2px}.compact-card.type-division{border-width:2px;height:82px}.compact-card.type-division .compact-title{font-size:12px}.compact-card.type-staff{border-style:dashed}.compact-card.type-process,.compact-card.type-team{background:#fbfcfd}.compact-card.type-process .compact-type,.compact-card.type-team .compact-type{display:none}.person-roster{pointer-events:none;width:225px;padding-top:3px;position:absolute}.roster-person{height:var(--team-row-height,20px);color:#4b5565;white-space:nowrap;align-items:center;gap:5px;display:flex}.roster-person>span{background:color-mix(in srgb,var(--accent) 14%,white);width:14px;height:14px;color:var(--accent);border-radius:50%;flex:none;place-items:center;font-size:5px;font-weight:800;display:grid}.roster-person>div{align-items:baseline;gap:5px;min-width:0;display:flex}.roster-person strong{text-overflow:ellipsis;max-width:105px;font-size:9px;overflow:hidden}.roster-person small{color:#7f8795;text-overflow:ellipsis;max-width:95px;font-size:7px;overflow:hidden}.lines path{stroke-linecap:round;stroke-linejoin:round}.field-hint{color:#8a94a6;letter-spacing:0;text-transform:none;margin-top:6px;font-size:9px;font-weight:500;line-height:1.45;display:block}.colors{flex-wrap:wrap}.custom-color{cursor:pointer;background:#fff!important;border:1px solid #d8dce4!important;border-radius:50%!important;width:25px!important;height:25px!important;margin:0!important;padding:2px!important}.custom-color::-webkit-color-swatch-wrapper{padding:0}.custom-color::-webkit-color-swatch{border:0;border-radius:50%}.custom-color::-moz-color-swatch{border:0;border-radius:50%}.card-text .unit{font-size:var(--unit-size,8px)}.card-text strong{font-size:var(--role-size,12px)}.card-text p{font-size:var(--person-size,11px)}.card footer{font-size:var(--footer-size,9px);background:inherit}.card:not(.compact-card) .stripe{height:calc(5px * var(--box-scale,1))}.card:not(.compact-card) .card-body{height:calc(94px * var(--box-scale,1));padding:calc(13px * var(--box-scale,1));gap:calc(12px * var(--box-scale,1))}.card:not(.compact-card) .avatar{width:calc(43px * var(--box-scale,1));height:calc(43px * var(--box-scale,1));font-size:calc(13px * var(--box-scale,1))}.card:not(.compact-card) .card-text .unit{margin-bottom:calc(3px * var(--box-scale,1))}.card:not(.compact-card) .card-text p{margin-top:calc(4px * var(--box-scale,1))}.card:not(.compact-card) footer{height:calc(36px * var(--box-scale,1));padding:0 calc(13px * var(--box-scale,1))}.design-editor{background:#fafbfc;border-top:1px solid #e7e9ee;border-bottom:1px solid #e7e9ee;margin-top:18px;padding:16px 20px}.design-title{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.design-title small{color:#8b93a2;letter-spacing:.12em;font-size:8px;font-weight:700}.design-title button{color:#5b50e6;cursor:pointer;background:0 0;border:0;font-size:9px;font-weight:700}.design-editor>label{margin-top:11px;display:block}.design-editor label>select,.design-editor label>input:not([type=color]):not([type=range]){width:100%;margin-top:5px;display:block}.design-editor input[type=range]{accent-color:#5b50e6;width:100%;margin-top:7px}.design-editor label>b{float:right;color:#344054}.design-grid{grid-template-columns:1fr 1fr;gap:12px;margin-top:11px;display:grid}.design-grid input[type=color]{background:#fff;border:1px solid #dfe3e9;border-radius:6px;width:100%;height:30px;margin-top:5px;padding:2px;display:block}.avatar.has-photo,.roster-person>span.has-photo,.member-editor-title span.has-photo,.photo-preview.has-photo{padding:0;overflow:hidden}.avatar img,.roster-person img,.member-editor-title img,.photo-preview img{object-fit:cover;width:100%;height:100%;display:block}.person-design{background:#fafbfc;border:1px solid #e1e5eb;border-radius:8px;grid-template-columns:42px 1fr;gap:10px;margin:10px 20px 0;padding:12px;display:grid}.photo-preview{color:#5147cf;background:#eceafe;border-radius:50%;place-items:center;width:42px;height:42px;font-size:11px;font-weight:800;display:grid}.person-design>label{grid-column:1/-1}.person-design label>select{width:100%;margin-top:5px;display:block}.person-design input[type=range]{accent-color:#5b50e6;width:100%;margin-top:7px}.person-design input[type=color]{width:100%;height:28px;margin-top:5px;display:block}.person-design button{color:#a04a4a;cursor:pointer;background:0 0;border:0;padding:5px 0;font-size:8px}.upload-photo{cursor:pointer;background:#fff;border:1px solid #d8dce4;border-radius:6px;padding:6px 8px;display:inline-block;color:#4d43cb!important;font-size:8px!important}.upload-photo input{display:none!important}.member-design{align-items:center;gap:8px;margin-top:7px;display:flex}.member-design button{color:#a04a4a;cursor:pointer;background:0 0;border:0;font-size:8px}.member-design select,.member-design input[type=number]{background:#fff;border:1px solid #dde1e7;border-radius:5px;width:100%;min-width:0;height:28px;font-size:8px}.member-design input[type=color]{border:1px solid #dde1e7;border-radius:5px;width:30px;height:28px;padding:2px}.team-design{background:#fafbfc;border:1px solid #e1e5eb;border-radius:8px;margin-bottom:12px;padding:10px}.team-design label{margin-top:8px;display:block}.team-design label:first-child{margin-top:0}.team-design select,.team-design input[type=range]{width:100%;margin-top:5px;display:block}.team-design input[type=range]{accent-color:#5b50e6}.team-design input[type=color]{width:100%;height:28px;margin-top:5px;display:block}.team-design label>b{float:right;color:#344054}
