:root{--ink:#1f2330;--muted:#747887;--line:#e8e8ec;--paper:#f6f6f8;--card:#fff;--violet:#6f56d9;--violet-dark:#5d44c5;--violet-soft:#f0edff;--green:#16866f;--green-soft:#e9f7f3;--amber:#bd6d21;--amber-soft:#fff3df;--red:#c65454;--sidebar:#20222b}*{box-sizing:border-box}html,body{background:var(--paper);min-height:100%;color:var(--ink);margin:0}body{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{grid-template-columns:226px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{z-index:20;background:var(--sidebar);color:#fff;flex-direction:column;width:226px;padding:25px 18px 18px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:11px;padding:0 7px 24px;display:flex}.brand-mark{background:linear-gradient(145deg,#8c75ee,#5d44c5);border-radius:11px;place-items:center;width:35px;height:35px;font-size:17px;font-weight:800;display:grid;box-shadow:0 8px 24px #6f56d944}.brand div{flex-direction:column;line-height:1.15;display:flex}.brand strong{letter-spacing:.12em;font-size:18px}.brand small{color:#9ea0ac;letter-spacing:.08em;margin-top:4px;font-size:10px}.project-switcher{background:#2a2c36;border:1px solid #3b3d48;border-radius:12px;grid-template-columns:8px 1fr auto;align-items:center;gap:9px;min-height:60px;padding:12px 10px;display:grid}.project-switcher div{flex-direction:column;min-width:0;display:flex}.project-switcher select{color:#fff;background:0 0;border:0;outline:none;width:100%;padding:0;font-size:13px;font-weight:700}.project-switcher option{color:#111}.project-switcher small{color:#9295a2;margin-top:5px;font-size:10px}.new-project-button{color:#c9bfff;text-align:left;background:0 0;border:1px dashed #575265;border-radius:9px;width:100%;margin-top:8px;padding:8px 10px;font-size:11px}.new-project-button:hover{background:#302d3c;border-style:solid}.live-dot{background:#60d4ae;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #60d4ae17}.chev{color:#a8aab5}nav{gap:5px;margin-top:25px;display:grid}nav button{color:#aaaeba;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:11px;width:100%;padding:11px 13px;font-size:13px;display:flex}nav button span{color:#8d909c;width:18px;font-size:16px}nav button:hover{color:#fff;background:#292b34}nav button.active{color:#fff;background:#373249}nav button.active span{color:#a993ff}.side-progress{background:#292b34;border-radius:12px;margin-top:auto;padding:15px 13px}.progress-heading{color:#b8bac4;justify-content:space-between;align-items:center;font-size:11px;display:flex}.progress-heading strong{color:#fff;font-size:14px}.progress-track{background:#42444f;border-radius:9px;height:5px;margin:11px 0 9px;overflow:hidden}.progress-track i{border-radius:inherit;background:linear-gradient(90deg,#7b63e4,#a391fa);height:100%;display:block}.side-progress small{color:#858894;font-size:10px}.sidebar-footer{align-items:center;gap:8px;margin-top:12px;display:flex}.app-version{color:#696b75;letter-spacing:.06em;text-align:center;margin-top:8px;font-size:8px}.avatar{border-radius:50%;flex:none;place-items:center;width:31px;height:31px;font-size:12px;font-weight:700;display:grid}.sidebar-footer select{color:#d5d6dc;background:0 0;border:0;outline:none;width:100%;min-width:0;font-size:11px}.sidebar-footer option{color:#111}.signed-account{flex-direction:column;flex:1;min-width:0;display:flex}.signed-account strong{color:#e7e7eb;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.signed-account small{color:#8f919d;margin-top:3px;font-size:8px}.signout-button{color:#8f919d;background:0 0;border:0;padding:3px;font-size:8px}.signout-button:hover{color:#fff}.main{grid-column:2;min-width:0;padding:0 30px 50px}.topbar{justify-content:space-between;align-items:center;gap:20px;height:104px;display:flex}.eyebrow{color:#8b8e99;margin:0 0 4px;font-size:11px}h1{letter-spacing:-.03em;margin:0;font-size:24px}.top-actions{align-items:center;gap:9px;display:flex}.pass-entry-button{color:#fff;background:#20242d;border-color:#20242d!important}.top-actions button,.toolbar button,.drawer-actions button,.members-header button,.modal button{border:1px solid #0000;border-radius:8px;min-height:37px;padding:0 15px;font-size:12px;font-weight:650}.primary{background:var(--violet);color:#fff;box-shadow:0 7px 17px #6f56d928;border-color:var(--violet)!important}.primary:hover{background:var(--violet-dark)}.secondary{color:var(--ink);background:#fff;border-color:#dedee4!important}.ghost{color:#646876;background:#fff;width:38px;position:relative;border-color:#dedee4!important;padding:0!important}.notification-dot{background:#e15b67;border-radius:50%;width:6px;height:6px;position:absolute;top:8px;right:8px}.summary-strip{background:var(--card);border:1px solid var(--line);border-radius:13px;grid-template-columns:repeat(4,minmax(130px,1fr));margin-bottom:14px;display:grid;box-shadow:0 5px 18px #25273508}.summary-strip>div{border-right:1px solid var(--line);grid-template-columns:1fr auto;gap:2px 12px;padding:17px 20px 15px;display:grid}.summary-strip>div:last-child{border-right:0}.summary-strip span{color:var(--muted);font-size:11px}.summary-strip strong{letter-spacing:-.04em;grid-row:span 2;font-size:23px}.summary-strip small{color:#a0a2ac;font-size:10px}.summary-strip .green{color:var(--green)}.summary-strip .amber{color:var(--amber)}.workspace-card,.members-card{background:var(--card);border:1px solid var(--line);border-radius:13px;overflow:hidden;box-shadow:0 5px 18px #25273508}.toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:15px;padding:13px 15px;display:flex}.filters{gap:2px;display:flex}.filters button{color:#7d808d;background:0 0;border:0;min-height:32px;padding:0 11px;font-weight:500}.filters button.active{color:var(--violet-dark);background:var(--violet-soft)}.tools{align-items:center;gap:7px;display:flex}.search{color:#9699a4;border:1px solid #e1e1e5;border-radius:8px;align-items:center;gap:6px;width:215px;min-height:34px;padding:0 10px;display:flex}.search input{width:100%;min-width:0;color:var(--ink);border:0;outline:none;font-size:11px}.tool-btn{color:#656875;background:#fff;border-color:#e1e1e5!important;min-height:34px!important;padding:0 11px!important;font-weight:550!important}.add-btn{color:#fff;background:var(--ink);min-height:34px!important}.table-wrap{width:100%;overflow:auto}table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:930px}th{z-index:2;color:#90929d;border-bottom:1px solid var(--line);text-align:left;background:#fafafa;height:38px;padding:0 9px;font-size:10px;font-weight:600;position:sticky;top:0}th:nth-child(2){width:50px}th:nth-child(3){width:74px}th:nth-child(4){width:210px}th:nth-child(5){width:74px}th:nth-child(6){width:180px}th:nth-child(7){width:120px}th:nth-child(8){width:92px}th:nth-child(9){width:110px}td{color:#4a4e5b;vertical-align:middle;border-bottom:1px solid #eeeef1;height:55px;padding:7px 9px;font-size:11px}tbody tr{transition:background .15s}tbody tr:hover{background:#faf9ff}tbody tr:last-child td{border-bottom:0}.drag-col{color:#c6c7cd;cursor:grab;width:25px;padding-right:0}.order-pill{color:#727581;background:#f3f3f5;border-radius:7px;place-items:center;width:25px;height:25px;font-size:10px;display:grid}.time-cell,.mono{color:#333743;font-variant-numeric:tabular-nums;font-weight:650}.duration-cell{flex-direction:column;align-items:flex-start;gap:2px;display:flex}.duration-source{color:#7662c9;white-space:nowrap;font-size:8px;font-weight:600}.duration-source.manual{color:#a2752a}.editable-cell{padding:4px}.cell-trigger{width:100%;min-height:43px;color:inherit;text-align:left;font:inherit;cursor:text;background:0 0;border:1px solid #0000;border-radius:7px;padding:5px}.cell-trigger:hover:not(:disabled){background:#fff;border-color:#d9d2f3}.cell-trigger:disabled{opacity:1;color:inherit;cursor:default}.inline-editor{color:#292d38;width:100%;height:37px;font:inherit;background:#fff;border:1px solid #8d78dd;border-radius:7px;outline:none;padding:0 8px;box-shadow:0 0 0 3px #6f56d912}.item-title{color:#292d38;white-space:nowrap;text-overflow:ellipsis;font-size:11px;display:block;overflow:hidden}.item-title.placeholder{color:var(--violet-dark);font-weight:600}.item-type{color:#a2a4ad;margin-top:3px;font-size:9px;display:block}.program-trigger{cursor:pointer}.people-cell{overflow:hidden}.muted{color:#b2b4bc}.owner-chip{align-items:center;gap:6px;display:flex}.owner-chip i{width:23px;height:23px;color:var(--violet-dark);background:#eae6fa;border-radius:50%;place-items:center;font-size:9px;font-style:normal;font-weight:700;display:grid}.missing-text{color:var(--red);font-size:10px}.account-list{scrollbar-width:none;align-items:center;gap:4px;display:flex;overflow-x:auto}.account-list::-webkit-scrollbar{display:none}.account-chip{color:#4b4e59;cursor:default;background:#fff;border:1px solid #e4e2ea;border-radius:16px;flex:none;align-items:center;gap:5px;max-width:112px;min-height:28px;padding:3px 7px 3px 3px;font-size:9px;display:inline-flex}.account-chip i{color:#fff;background:#a9abb4;border-radius:50%;flex:none;place-items:center;width:20px;height:20px;font-size:8px;font-style:normal;font-weight:700;display:grid}.account-chip span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-chip em{color:#a16b43;white-space:nowrap;font-size:7px;font-style:normal}.account-chip.registered.manageable{cursor:pointer}.account-chip.registered.manageable:hover{background:#faf8ff;border-color:#a996e8;box-shadow:0 0 0 2px #6f56d90d}.account-chip.pending{opacity:.62;cursor:pointer;background:#fffaf4;border-style:dashed}.account-chip.pending:hover:not(:disabled){opacity:1;border-color:#bf8d67}.account-chip:disabled{opacity:1;color:#4b4e59;cursor:default;background:#fff}.account-chip.pending:disabled{opacity:.5;background:#fffaf4;border-style:dashed}.person-add{width:28px;height:28px;color:var(--violet-dark);background:var(--violet-soft);cursor:pointer;border:1px dashed #b8aadf;border-radius:8px;place-items:center;padding:0;font-size:17px;display:grid}.person-add-more{flex:0 0 28px;margin-left:1px}.person-add:hover:not(:disabled){background:#e8e1ff;border-style:solid}.person-add:disabled{color:#aaa6b4;cursor:not-allowed;background:#f4f4f5;border-color:#d8d6dd}.asset-dots{gap:4px;display:flex}.asset-dots span,.asset-dots label,.asset-dots button{border:0;border-radius:6px;place-items:center;width:22px;height:22px;padding:0;font-size:9px;font-weight:700;display:grid}.asset-dots .done{color:var(--green);background:var(--green-soft)}.asset-dots .missing{color:var(--red);background:#faeeee}.asset-dots .neutral{color:#a3a5ae;background:#f1f1f3}.asset-buttons button{cursor:pointer}.asset-dots .asset-open:hover{color:#fff;background:var(--violet)}.status{border-radius:20px;justify-content:center;min-width:51px;padding:4px 7px;font-size:9px;font-weight:700;display:inline-flex}.status-已就绪{color:var(--green);background:var(--green-soft)}.status-准备中{color:var(--amber);background:var(--amber-soft)}.status-待完善{color:#8c667a;background:#f6edf2}.inline-status{border:0;border-radius:20px;outline:none;min-width:70px;height:29px;padding:0 7px;font-size:9px;font-weight:700}.risk-note{color:#b16d73;margin-top:3px;font-size:8px;display:block}.empty{text-align:center;color:#989ba6;padding:55px}.drawer-backdrop{z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#12141a55;position:fixed;inset:0}.drawer{background:#fff;width:min(500px,94vw);padding:24px 25px 90px;animation:.22s ease-out drawer-in;position:absolute;inset:0 0 0 auto;overflow-y:auto;box-shadow:-20px 0 50px #11131a1c}@keyframes drawer-in{0%{opacity:.4;transform:translate(30px)}}.drawer-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;padding-bottom:18px;display:flex}.drawer-head h2{margin:8px 0 4px;font-size:21px}.drawer-head p{color:var(--muted);margin:0;font-size:11px}.drawer-head button,.modal-close{color:#676a75;background:#f1f1f3;border:0;border-radius:50%;width:31px;height:31px;font-size:18px}.type-tag{color:var(--violet-dark);background:var(--violet-soft);border-radius:5px;padding:4px 8px;font-size:9px;font-weight:700}.permission-note{color:#766c4a;background:#fff9df;border-radius:7px;margin-top:14px;padding:9px 12px;font-size:10px}.attention{color:#8a5d25;background:#fff6e6;border-radius:9px;justify-content:space-between;align-items:center;margin:16px 0;padding:13px 15px;display:flex}.attention strong{font-size:11px}.attention span{font-size:10px}.attention.success{color:var(--green);background:var(--green-soft)}.form-grid{gap:12px;display:grid}.form-grid.two{grid-template-columns:1fr 1fr}.form-grid label,.block-label,.modal label{color:#797c88;flex-direction:column;gap:6px;font-size:10px;font-weight:600;display:flex}.form-grid input,.form-grid select,.block-label textarea,.modal select,.drawer-actions select{color:#333743;background:#fff;border:1px solid #dddde2;border-radius:8px;outline:none;width:100%;font-size:11px}.form-grid input,.form-grid select,.modal input,.modal select,.drawer-actions select{height:37px;padding:0 10px}.modal input{color:#333743;background:#fff;border:1px solid #dddde2;border-radius:8px;outline:none;width:100%;font-size:11px}.form-grid input:focus,.form-grid select:focus,.block-label textarea:focus{border-color:#9f8ce9;box-shadow:0 0 0 3px #6f56d912}input:disabled,textarea:disabled,select:disabled{color:#6e707a;cursor:not-allowed;background:#f7f7f8}.block-label{margin-top:14px}.block-label textarea{resize:vertical;padding:10px 11px;line-height:1.65}.account-field{background:#fff;border:1px solid #dddde2;border-radius:8px;align-items:center;min-height:37px;padding:4px 6px;display:flex}.files-section{margin-top:17px}.section-title{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.section-title strong{font-size:11px}.section-title small{color:#a5a7af;font-size:9px}.file-slot{cursor:pointer;border:1px dashed #d9d9df;border-radius:9px;align-items:center;gap:10px;min-height:54px;margin-top:7px;padding:9px 11px;display:flex}.file-slot:hover{background:#faf9ff;border-color:#9d8be8}.file-slot.disabled{cursor:not-allowed;opacity:.7}.file-icon{width:31px;height:31px;color:var(--violet);background:var(--violet-soft);border-radius:8px;place-items:center;font-size:16px;display:grid}.file-slot div{flex-direction:column;flex:1;min-width:0;display:flex}.file-slot strong{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.file-slot small{color:#9a9ca6;margin-top:3px;font-size:9px}.file-slot em{color:var(--green);font-size:9px;font-style:normal}.drawer-actions{border-top:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffe;grid-template-columns:140px 1fr;gap:9px;width:min(500px,94vw);padding:13px 25px;display:grid;position:fixed;bottom:0;right:0}.members-card{padding:24px}.members-header{justify-content:space-between;align-items:center;padding-bottom:20px;display:flex}.members-header h2{margin:0 0 5px;font-size:17px}.members-header p{color:var(--muted);margin:0;font-size:11px}.member-list{border:1px solid var(--line);border-radius:10px;overflow:hidden}.member-row{border-bottom:1px solid var(--line);grid-template-columns:39px minmax(240px,1fr) 82px 62px 44px;align-items:center;gap:10px;min-height:70px;padding:11px 15px;display:grid}.member-row:last-child{border-bottom:0}.member-row.manageable:hover{background:#faf9ff}.large-avatar{color:#fff;border-radius:50%;place-items:center;width:36px;height:36px;font-size:12px;font-weight:700;display:grid}.member-name{flex-direction:column;display:flex}.member-name strong{font-size:12px}.member-name small{color:var(--muted);margin-top:4px;font-size:9px}.role{color:#5f567e;background:#f1f0f7;border-radius:6px;width:fit-content;padding:5px 8px;font-size:9px;font-weight:700}.joined{color:var(--green);font-size:9px}.not-joined{color:#aaa0ad;font-size:9px}.member-row.unregistered{background:#fafafa}.member-row.unregistered .large-avatar,.member-row.unregistered .member-identity-button{opacity:.58}.member-row>button{color:#999ca6;background:0 0;border:0}.member-identity-button{text-align:left;grid-template-columns:minmax(150px,1fr) 120px;align-items:center;gap:12px;min-width:0;padding:5px 7px;display:grid;border-radius:8px!important}.member-identity-button:not(:disabled){cursor:pointer}.member-identity-button:not(:disabled):hover{background:#f3efff}.member-identity-button:disabled{opacity:1}.member-edit-button{padding:6px 7px;font-size:9px;border-radius:6px!important}.member-edit-button:not(:disabled){color:var(--violet-dark);background:var(--violet-soft);cursor:pointer}.member-pass-button{cursor:pointer;padding:7px 8px;font-size:9px;color:#25735c!important;background:#e9f7f1!important;border-radius:7px!important}.member-pass-button:disabled{cursor:not-allowed;color:#aaa!important;background:#f0f0f2!important}.role-tip{background:#f7f6fb;border-radius:9px;gap:18px;margin-top:16px;padding:14px 16px;display:flex}.role-tip span{color:var(--violet-dark);white-space:nowrap;font-size:10px;font-weight:700}.role-tip p{color:#717482;margin:0;font-size:10px;line-height:1.6}.modal-backdrop{z-index:60;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#15172088;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:16px;width:min(410px,100%);padding:29px;animation:.18s ease-out modal-in;position:relative;box-shadow:0 24px 70px #17192333}@keyframes modal-in{0%{opacity:.4;transform:translateY(8px)scale(.98)}}.modal-close{position:absolute;top:17px;right:17px}.modal-icon{color:#fff;background:var(--violet);border-radius:12px;place-items:center;width:42px;height:42px;font-size:22px;display:grid}.modal h2{margin:17px 0 7px;font-size:19px}.modal>p{color:var(--muted);margin:0 0 20px;font-size:11px}.program-modal{width:min(520px,100%)}.asset-modal{width:min(590px,100%)}.create-project-fields{grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;display:grid}.create-project-modal .full{margin-top:16px}.program-save{margin-top:18px}.program-modal textarea{resize:vertical;color:#333743;border:1px solid #dddde2;border-radius:8px;outline:none;width:100%;padding:11px;font-size:12px;line-height:1.7}.asset-modal-list{flex-direction:column;gap:9px;display:flex}.asset-modal-row{background:#fafafd;border:1px solid #e6e4eb;border-radius:10px;grid-template-columns:36px minmax(0,1fr) 58px 58px;align-items:center;gap:9px;min-height:64px;padding:10px;display:grid}.asset-modal-icon{border-radius:9px;place-items:center;width:34px;height:34px;font-size:11px;font-weight:700;display:grid}.asset-modal-icon.ready{color:var(--green);background:var(--green-soft)}.asset-modal-icon.empty{color:#a3a5ae;background:#ececef}.asset-modal-name{flex-direction:column;gap:4px;min-width:0;display:flex}.asset-modal-name strong{color:#3c3f49;font-size:11px}.asset-modal-name small{text-overflow:ellipsis;white-space:nowrap;color:#9699a4;font-size:9px;overflow:hidden}.asset-modal-row .asset-download-button,.asset-modal-row .asset-upload-button{cursor:pointer;border-radius:8px;place-items:center;width:58px;height:34px;padding:0;font-size:10px;font-weight:700;display:grid}.asset-modal-row .asset-download-button:disabled{color:#b4b5bc;cursor:not-allowed;background:#ededf0;border-color:#ededf0}.asset-modal-row .asset-upload-button.denied{color:#a7a8af;background:#ededf0;border-color:#dedee3}.asset-permission-note{color:#7c7e89;background:#f4f4f6;border-radius:8px;margin-top:13px;padding:9px 11px;font-size:9px}.member-editor-modal textarea{resize:vertical;color:#333743;border:1px solid #dddde2;border-radius:8px;outline:none;width:100%;padding:9px 10px;font-size:11px;line-height:1.5}.member-editor-modal .full{margin-top:16px}.pass-area-editor{background:#fafafd;border:1px solid #e3e1e9;border-radius:9px;margin-top:14px;padding:12px}.pass-area-editor>strong{font-size:10px}.pass-area-editor>p{color:var(--muted);margin:4px 0 10px;font-size:8px;line-height:1.5}.pass-area-editor>small{color:#a06d27;margin-top:8px;font-size:8px;display:block}.area-options{flex-wrap:wrap;gap:6px;display:flex}.area-options button{color:#666a75;background:#fff;border-color:#dddde4!important;min-height:30px!important;padding:0 10px!important}.area-options button.selected{color:#5845b1;background:#f1edff;border-color:#8c7add!important}.custom-area-field{grid-template-columns:1fr 62px;gap:7px;margin-top:8px;display:grid}.custom-area-field input{border:1px solid #dddde4;border-radius:7px;height:35px;padding:0 9px}.custom-area-field button{color:var(--violet-dark);background:#fff;border-color:#dddde4!important;min-height:35px!important;padding:0!important}.pass-backdrop{z-index:80}.work-pass-shell{width:min(420px,100%);position:relative}.pass-close{z-index:2;color:#fff;background:#ffffff20;border-color:#ffffff35!important}.work-pass{color:#fff;border-radius:22px;overflow:hidden;box-shadow:0 28px 80px #0f172a55}.work-pass-green{background:linear-gradient(145deg,#0d815d,#07533f)}.work-pass-orange{background:linear-gradient(145deg,#e4812d,#b84d18)}.work-pass-blue{background:linear-gradient(145deg,#356da8,#254565)}.work-pass>header{border-bottom:1px solid #ffffff26;justify-content:space-between;align-items:center;padding:23px 24px;display:flex}.work-pass-brand{align-items:center;gap:10px;display:flex}.work-pass-brand>span{color:#25302d;background:#fff;border-radius:12px;place-items:center;width:38px;height:38px;font-weight:900;display:grid}.work-pass-brand div{flex-direction:column;gap:2px;display:flex}.work-pass-brand strong{letter-spacing:.1em;font-size:14px}.work-pass-brand small{color:#ffffffa8;letter-spacing:.12em;font-size:7px}.pass-live-dot{background:#fff;border:2px solid #ffffff90;border-radius:50%;width:11px;height:11px;animation:1.2s infinite pass-pulse;box-shadow:0 0 0 6px #ffffff18}.work-pass-project{color:#ffffffc9;letter-spacing:.08em;padding:21px 24px 6px;font-size:10px}.work-pass-person{grid-template-columns:76px 1fr;align-items:center;gap:17px;padding:15px 24px 25px;display:grid}.work-pass-person>span{background:#ffffff1c;border:2px solid #ffffff50;border-radius:24px;place-items:center;width:76px;height:76px;font-size:31px;font-weight:800;display:grid}.work-pass-person small,.work-pass-type small,.work-pass-areas>small{color:#ffffffa3;letter-spacing:.14em;font-size:7px}.work-pass-person h2{margin:5px 0 4px;font-size:27px}.work-pass-person p{color:#ffffffd1;margin:0;font-size:10px;line-height:1.5}.work-pass-type{border-block:1px solid #ffffff24;justify-content:space-between;align-items:center;margin:0 24px;padding:15px 0;display:flex}.work-pass-type strong{font-size:18px}.work-pass-areas{padding:17px 24px 21px}.work-pass-areas>div{flex-wrap:wrap;gap:7px;margin-top:9px;display:flex}.work-pass-areas span{background:#ffffff18;border:1px solid #ffffff40;border-radius:16px;padding:7px 11px;font-size:10px;font-weight:700}.work-pass-areas span.unassigned{color:#ffe7b3;border-color:#ffd07870}.work-pass footer{background:#081d1870;padding:18px 24px 22px}.work-pass footer small{color:#ffffffa5;font-size:8px}.work-pass footer time{font-variant-numeric:tabular-nums;letter-spacing:.02em;margin:6px 0;font-size:23px;font-weight:800;display:block}.work-pass footer p{color:#ffffffac;margin:0;font-size:9px}.pass-security-note{color:#fff;text-align:center;margin:12px 10px 0;font-size:9px;line-height:1.5}.pass-security-note:before{content:"● ";color:#68e2af}.work-pass-orange+.pass-security-note:before{color:#ffc37e}@keyframes pass-pulse{50%{opacity:.45;box-shadow:0 0 0 10px #ffffff08}}.registered-banner{color:var(--green);background:var(--green-soft);border-radius:7px;margin:-7px 0 15px;padding:8px 10px;font-size:10px;font-weight:700}.pending-banner{color:#986a25;background:#fff6e6;border-radius:7px;margin:-7px 0 15px;padding:8px 10px;font-size:10px;font-weight:700}.member-editor-actions,.invite-actions{grid-template-columns:1fr 1.35fr;gap:8px;margin-top:16px;display:grid}.member-editor-actions button,.invite-actions button{width:100%}.modal label+label{margin-top:12px}.permission-preview{color:#625581;background:#f5f2ff;border-radius:8px;flex-direction:column;gap:3px;margin-top:12px;padding:10px 12px;display:flex}.permission-preview strong{font-size:10px}.permission-preview span{font-size:9px;line-height:1.5}.member-suggestions{margin:8px 0 12px}.member-suggestions>small{color:var(--muted);margin-bottom:6px;font-size:8px;display:block}.member-suggestions>div{flex-wrap:wrap;gap:6px;display:flex}.member-suggestions button{color:#454854;cursor:pointer;background:#fff;border:1px solid #e3e0eb;border-radius:18px;align-items:center;gap:5px;padding:4px 8px 4px 4px;display:inline-flex}.member-suggestions button:hover{background:#faf8ff;border-color:#a996e8}.member-suggestions button.unregistered{color:#91939d;opacity:.76;background:#f7f7f8}.member-suggestions button.unregistered i,.people-library-list .unregistered .large-avatar{color:#8e9098;background:#e4e4e8}.member-suggestions i{color:#fff;border-radius:50%;place-items:center;width:22px;height:22px;font-size:8px;font-style:normal;font-weight:700;display:grid}.member-suggestions span{font-size:9px}.member-suggestions em{color:var(--muted);font-size:7px;font-style:normal}.staff-duty-note{color:#716342;background:#fff8df;border-radius:7px;margin-top:10px;padding:9px 11px;font-size:9px;line-height:1.55}.invite-link{color:#696c78;background:#f4f4f6;border-radius:8px;justify-content:space-between;align-items:center;height:42px;margin:14px 0;padding-left:12px;font-size:10px;display:flex}.invite-link span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.invite-link button{min-height:31px;color:var(--violet-dark);background:#fff;border-color:#dddde2;margin-right:5px}.form-error{color:#a33f48;background:#fff0f1;border-radius:7px;margin:10px 0;padding:9px 11px;font-size:10px;line-height:1.5}.full{width:100%}.toast{z-index:100;color:#fff;background:#282b35;border-radius:9px;padding:11px 17px;font-size:11px;animation:.2s ease-out toast-in;position:fixed;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 12px 28px #1f222b33}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,7px)}}.invite-page{background:radial-gradient(circle at 20% 0,#eeeaff 0,#0000 34%),#f5f5f7;place-items:center;min-height:100vh;padding:42px 18px;display:grid}.public-auth-page,.project-start-page{background:radial-gradient(circle at 15% 0,#ece8ff 0,#0000 36%),#f5f5f7;place-items:center;min-height:100vh;padding:42px 18px;display:grid}.public-auth-card{background:#fff;border:1px solid #e8e6ee;border-radius:22px;width:min(460px,100%);padding:34px;box-shadow:0 22px 70px #2b294014}.public-auth-card.compact{min-height:240px}.auth-hero{margin:35px 0 23px}.auth-hero p{color:var(--violet-dark);margin:0 0 8px;font-size:10px;font-weight:700}.auth-hero h1{margin:0 0 9px;font-size:25px}.auth-hero span{color:var(--muted);font-size:10px;line-height:1.65}.phone-login label>small{color:#a1a3ac;font-size:8px;font-weight:400}.project-start-card{text-align:center;background:#fff;border:1px solid #e8e6ee;border-radius:22px;width:min(520px,100%);padding:42px;box-shadow:0 22px 70px #2b294014}.project-start-card .invite-brand{justify-content:center}.project-start-card>p{color:var(--violet-dark);margin:40px 0 7px;font-size:11px;font-weight:700}.project-start-card>h1{margin:0 0 12px;font-size:27px}.project-start-card>span{color:var(--muted);font-size:11px;line-height:1.65;display:block}.project-start-card>.primary{border-radius:9px;min-height:45px;margin-top:28px;padding:0 25px}.start-signout{color:#999ba4;background:0 0;border:0;margin:17px auto 0;font-size:9px;display:block}.invite-card{background:#fff;border:1px solid #e8e6ee;border-radius:22px;width:min(520px,100%);padding:34px;box-shadow:0 22px 70px #2b294014}.invite-brand{color:#3a3d49;align-items:center;gap:10px;display:flex}.invite-brand span{color:#fff;background:var(--violet);border-radius:11px;place-items:center;width:36px;height:36px;font-weight:800;display:grid}.invite-brand strong{letter-spacing:.12em}.invite-eyebrow{color:var(--violet-dark);margin:34px 0 7px;font-size:12px;font-weight:700}.invite-card>h1{font-size:28px;line-height:1.25}.invite-summary{border:1px solid var(--line);background:var(--line);border-radius:12px;grid-template-columns:1fr 1fr;gap:1px;margin-top:25px;display:grid;overflow:hidden}.invite-summary div{background:#fff;flex-direction:column;gap:6px;min-height:68px;padding:13px 15px;display:flex}.invite-summary .wide{grid-column:span 2}.invite-summary small{color:var(--muted);font-size:9px}.invite-summary strong{font-size:12px}.invite-event-meta{color:#8c8f9a;border-bottom:1px solid var(--line);padding:12px 2px 20px;font-size:10px}.phone-login{padding-top:22px}.phone-login h2{margin:0 0 5px;font-size:17px}.phone-login>p{color:var(--muted);margin:0 0 19px;font-size:10px;line-height:1.6}.phone-login label{color:#696d79;flex-direction:column;gap:6px;margin-top:11px;font-size:10px;font-weight:600;display:flex}.phone-login input{width:100%;height:43px;color:var(--ink);border:1px solid #dddde3;border-radius:9px;outline:none;padding:0 12px}.phone-login input:focus{border-color:#9e8ce8;box-shadow:0 0 0 3px #6f56d912}.code-field{grid-template-columns:1fr 112px;gap:8px;display:grid}.code-field button{color:var(--violet-dark);background:#f7f5ff;border:1px solid #d9d5e6;border-radius:9px;font-size:10px;font-weight:700}.code-field button:disabled{color:#a3a4ab;cursor:not-allowed;background:#f4f4f5}.invite-submit{border-radius:9px;min-height:45px;margin-top:16px}.invite-submit:disabled{opacity:.55;cursor:not-allowed}.invite-terms{color:#a0a2aa;text-align:center;margin-top:11px;font-size:8px;display:block}.invite-state{color:var(--muted);text-align:center;padding:90px 0}.error-state{color:#9a3e48;padding-bottom:8px;font-weight:700}.invite-error-copy{color:var(--muted);text-align:center;font-size:11px}.invite-success{text-align:center;padding:58px 0 28px}.invite-success>span{color:#fff;background:var(--green);border-radius:50%;place-items:center;width:58px;height:58px;margin:auto;font-size:25px;display:grid}.invite-success h1{margin:20px 0 8px}.invite-success p{color:var(--muted);margin:0 0 25px;font-size:11px}.invite-success button{border-radius:9px;min-height:43px;padding:0 25px}@media (width<=1100px){.app-shell{grid-template-columns:76px minmax(0,1fr)}.sidebar{width:76px;padding:22px 11px}.brand{justify-content:center;padding:0 0 22px}.brand div,.project-switcher div,.project-switcher .chev,nav button:not(.active):after,nav button{font-size:0}.project-switcher{grid-template-columns:1fr;justify-items:center;min-height:45px}.project-switcher .live-dot{width:9px;height:9px}nav button{justify-content:center;padding:12px}nav button span{width:auto;font-size:17px}.side-progress,.sidebar-footer select{display:none}.sidebar-footer{justify-content:center;margin-top:auto}.main{grid-column:2;padding-inline:20px}.toolbar{flex-direction:column;align-items:flex-start}.tools{width:100%}.search{flex:1}}@media (width<=760px){.public-auth-page,.project-start-page{background:#fff;place-items:stretch stretch;padding:0}.public-auth-card,.project-start-card{width:100%;min-height:100vh;box-shadow:none;border:0;border-radius:0;padding:27px 22px}.invite-page{background:#fff;place-items:stretch stretch;padding:0}.invite-card{min-height:100vh;box-shadow:none;border:0;border-radius:0;padding:26px 22px}.app-shell{padding-bottom:64px;display:block}.sidebar{flex-direction:row;align-items:center;width:auto;height:64px;padding:8px 12px;inset:auto 0 0}.brand,.project-switcher,.new-project-button,.side-progress,.sidebar-footer{display:none}nav{grid-template-columns:repeat(3,1fr);gap:4px;width:100%;margin:0;display:grid}nav button{flex-direction:column;gap:2px;height:48px;font-size:9px!important}nav button span{font-size:16px}.main{padding:0 12px 25px}.topbar{height:84px}.eyebrow{white-space:nowrap;text-overflow:ellipsis;max-width:200px;overflow:hidden}h1{font-size:21px}.secondary,.top-actions .ghost{display:none}.top-actions button{padding:0 10px;font-size:10px}.summary-strip{grid-template-columns:1fr 1fr}.summary-strip>div:nth-child(2){border-right:0}.summary-strip>div{border-bottom:1px solid var(--line)}.summary-strip>div:nth-child(3),.summary-strip>div:nth-child(4){border-bottom:0}.filters{width:100%;overflow-x:auto}.tools{flex-wrap:wrap}.search{flex-basis:100%;width:100%}.tool-btn{display:none}.form-grid.two{grid-template-columns:1fr}.drawer{padding-inline:18px}.drawer-actions{grid-template-columns:110px 1fr;padding-inline:18px}.member-row{grid-template-columns:39px 1fr 58px}.member-identity-button{grid-template-columns:1fr}.member-identity-button .role{margin-top:4px}.joined,.member-edit-button{display:none}.member-pass-button{grid-area:1/3}.pass-entry-button{display:inline-flex!important}.work-pass-shell{width:min(390px,100%)}.work-pass-person{grid-template-columns:66px 1fr}.work-pass-person>span{border-radius:20px;width:66px;height:66px}}
