:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#1c2c27;background:#f6f7f4;font-synthesis:none;--ink:#182521;--muted:#69756d;--line:#e2e7df;--green:#c5edaa;--danger:#a02c38}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer;border:0}button:disabled{cursor:wait;opacity:.6}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.045em;font-size:36px;line-height:1.15;margin-bottom:12px}h2{letter-spacing:-.035em}p{line-height:1.65}svg{width:20px;height:20px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}button:focus-visible,a:focus-visible{outline:3px solid #67964d;outline-offset:4px}.skip-link{position:fixed;left:16px;top:-100px;z-index:20;padding:12px;background:var(--green)}.skip-link:focus{top:12px}.brand{font-size:31px;letter-spacing:-.08em;font-weight:850;line-height:1}.brand span{color:#8cae76}.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-weight:650;font-size:11px;color:var(--muted)}.muted{color:var(--muted)}.small{font-size:13px}.btn{display:inline-flex;gap:9px;align-items:center;justify-content:center;min-height:45px;padding:12px 20px;border-radius:10px;font-size:14px;font-weight:650;background:var(--ink);color:#fff;transition:background .15s,transform .15s}.btn:hover{background:#2d4538}.btn.primary{background:var(--green);color:#203d28}.btn.primary:hover{background:#b6e397}.btn.secondary{background:#f1f4ee;color:var(--ink);border:1px solid var(--line)}.btn.secondary:hover{background:#e6ecdf}.btn.danger{color:var(--danger);background:#fff0f0}.btn.small-btn{padding:9px 12px;min-height:38px;font-size:12px}.btn.full{width:100%}.text-button{background:none;color:var(--muted);padding:8px;border-radius:6px;font-size:13px}.text-button:hover{color:var(--ink);background:#edf1e9}.icon-button{background:transparent;color:var(--muted);width:40px;height:40px;display:grid;place-items:center;border-radius:8px}.icon-button:hover{background:#eef2ea}.form-row{display:grid;gap:8px;margin-bottom:19px}label{font-size:13px;font-weight:650}input{width:100%;min-height:48px;padding:12px 14px;border:1px solid #d7ded3;border-radius:9px;color:var(--ink);background:#fff}input::placeholder{color:#939b95}input:focus{outline:2px solid #c5edaa;border-color:#799364;outline-offset:1px}.help{font-size:12px;line-height:1.5;color:var(--muted);margin:0}.password-wrap{position:relative}.password-wrap input{padding-right:80px}.password-toggle{position:absolute;right:8px;top:8px;height:32px;background:transparent;color:#637458;font-size:12px;padding:0 8px;border-radius:6px}.notice{padding:14px 16px;border-radius:10px;background:#eef5e7;border:1px solid #dce9ce;color:#466137;font-size:13px;line-height:1.6;margin-bottom:22px}.error{background:#fff0f1;color:#a02c38;border:1px solid #f1d0d5;padding:12px 14px;border-radius:8px;font-size:13px;line-height:1.5;margin:0 0 16px}.error:empty{display:none}.badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:650;border-radius:6px;padding:5px 8px;background:#eef3e9;color:#4b6941}.badge.pending{background:#fff2d9;color:#8c641e}.badge.disabled{background:#f0f1ee;color:#757c72}.badge.admin{background:#e6ede8;color:#3b5b49}.loading-screen{min-height:100svh;display:grid;place-content:center;gap:24px;text-align:center}.loading-screen p{color:var(--muted);font-size:14px}.spinner{width:18px;height:18px;border:2px solid #c6cfbf;border-top-color:#33482d;border-radius:50%;animation:spin .7s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}
.auth-layout{min-height:100svh;display:grid;grid-template-columns:1.05fr 1fr}.auth-story{position:relative;overflow:hidden;padding:48px clamp(32px,6vw,88px);background:var(--ink);color:#f4f6f1;display:flex;flex-direction:column;justify-content:space-between}.auth-story .brand{color:#fff}.auth-story .brand span{color:var(--green)}.story-copy{max-width:470px;padding:65px 0 40px;position:relative;z-index:1}.story-copy .eyebrow{color:#b9cbb2}.story-copy h1{font-size:clamp(42px,4.3vw,65px);line-height:1.08;margin:24px 0}.story-copy h1 span{color:var(--green)}.story-copy p{color:#aebeb3;font-size:16px;max-width:340px}.story-bottom{font-size:11px;color:#a4b5a8;display:flex;justify-content:space-between;gap:20px;z-index:1}.story-art{margin-top:40px;max-width:335px;height:126px;border:1px solid #3e5044;border-radius:14px;background:#22332a;transform:rotate(-3deg);padding:24px;box-shadow:12px 12px 0 #1c2d24}.art-top{display:flex;align-items:center;justify-content:space-between}.art-top svg{color:var(--green)}.art-dot{width:7px;height:7px;border-radius:50%;background:#c5edaa}.art-line{width:62%;height:7px;border-radius:8px;background:#3b5040;margin-top:20px}.art-line.short{margin-top:10px;width:38%;background:#314837}.auth-content{display:flex;align-items:center;justify-content:center;padding:48px 32px;background:#fafbf8}.auth-card{width:100%;max-width:390px}.auth-card h1{font-size:29px;margin:25px 0 8px}.auth-card>.muted{font-size:14px;margin-bottom:30px}.auth-tabs{display:flex;border-bottom:1px solid var(--line);gap:26px}.auth-tab{background:none;padding:14px 0;color:var(--muted);font-size:14px;border-bottom:2px solid transparent;margin-bottom:-1px}.auth-tab.active{color:var(--ink);font-weight:650;border-color:var(--ink)}.auth-foot{font-size:12px;text-align:center;color:var(--muted);line-height:1.6;margin:23px 0 0}.mobile-brand{display:none}.gate{max-width:500px;margin:8vh auto;padding:36px 32px;background:white;border:1px solid var(--line);border-radius:18px}.gate-icon{width:54px;height:54px;border-radius:14px;background:#edf4e6;color:#577441;display:grid;place-items:center;margin:28px 0 24px}.gate h1{font-size:28px}.gate p{font-size:14px;color:var(--muted)}.gate-actions{display:flex;gap:12px;margin-top:24px}
.workspace{display:grid;grid-template-columns:235px minmax(0,1fr);min-height:100svh}.sidebar{position:sticky;top:0;height:100svh;padding:34px 20px 20px;background:var(--ink);color:#b1beb4;display:flex;flex-direction:column}.sidebar .brand{color:white;padding:0 14px}.sidebar-caption{font-size:10px;text-transform:uppercase;letter-spacing:.16em;padding:45px 14px 14px;color:#a0b09e}.sidebar nav{display:flex;flex-direction:column;gap:6px}.nav-link{display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:9px;font-size:13px;line-height:20px}.nav-link:hover{color:#fff;background:#24392b}.nav-link.active{background:#c5edaa;color:#233c28;font-weight:650}.sidebar-bottom{margin-top:auto}.sidebar-note{border:1px solid #344a3c;padding:16px;border-radius:10px;font-size:12px;line-height:1.6;margin:28px 0}.sidebar-note strong{color:#d7e4d4;display:block;margin-bottom:4px}.user-block{display:flex;align-items:center;gap:10px;border-top:1px solid #314234;padding:20px 4px 0}.avatar{display:grid;place-items:center;border-radius:10px;background:#e7eee0;color:#537046;font-size:13px;font-weight:700;width:36px;height:36px;flex-shrink:0}.user-block .avatar{background:#304936;color:#c5edaa}.user-block .user-name{font-size:12px;color:#e4ece1;overflow:hidden;text-overflow:ellipsis;max-width:140px;white-space:nowrap}.user-block .user-role{font-size:10px;margin-top:4px}.workspace-main{min-width:0}.topbar{height:83px;border-bottom:1px solid var(--line);background:#fff;display:flex;justify-content:space-between;align-items:center;padding:0 42px;gap:16px}.breadcrumb{color:#697563;font-size:12px;display:flex;gap:12px;align-items:center}.breadcrumb strong{color:#334631;font-weight:550}.topbar-right{display:flex;align-items:center;gap:18px}.topbar-right .date{font-size:12px;color:var(--muted)}.workspace-content{max-width:1360px;padding:46px 42px 60px;margin:0 auto}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:32px}.page-head h1{font-size:32px;margin:8px 0 10px}.page-head p{color:var(--muted);font-size:14px;margin:0}.page-head .btn{margin-top:8px;flex-shrink:0}.welcome-strip{padding:25px 28px;background:#eaf0e2;border:1px solid #dce6d0;border-radius:14px;display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:35px}.welcome-strip h2{font-size:18px;margin-bottom:7px}.welcome-strip p{font-size:13px;color:#5b6e4e;margin:0}.welcome-strip .round-icon{width:53px;height:53px;display:grid;place-items:center;background:#dcebcf;border-radius:50%;color:#5d7848;flex-shrink:0}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 0 22px}.section-title{font-size:14px;font-weight:650}.count{font-size:11px;background:#e8ede3;color:#536845;min-width:23px;display:inline-grid;place-items:center;padding:3px 6px;border-radius:5px;margin-left:7px}.search-wrap{position:relative;width:250px}.search-wrap svg{position:absolute;left:12px;top:12px;width:17px;color:#7b886f}.search-wrap input{padding-left:37px;min-height:40px;height:40px;font-size:12px;background:#fff}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:20px}.project-card{background:#fff;border:1px solid var(--line);border-radius:13px;display:block;padding:24px;transition:border-color .2s,box-shadow .2s,transform .2s}.project-card:hover{border-color:#aec398;box-shadow:0 8px 24px #233f2410;transform:translateY(-2px)}.project-card .card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:27px}.project-icon{display:grid;place-items:center;width:44px;height:44px;background:#f0f4ea;color:#62794f;border-radius:10px}.project-card h3{font-size:17px;letter-spacing:-.02em;overflow-wrap:anywhere;margin:0 0 7px}.project-card p{font-size:12px;color:var(--muted);margin:0}.card-footer{border-top:1px solid #edf0e9;padding-top:17px;margin-top:24px;font-size:11px;display:flex;align-items:center;justify-content:space-between;color:#5e7352}.card-footer svg{width:15px}.empty-state{padding:55px 25px;text-align:center;background:#fff;border:1px dashed #d4deca;border-radius:14px}.empty-state .empty-icon{width:66px;height:66px;background:#f0f4ea;border-radius:17px;display:grid;place-items:center;margin:0 auto 22px;color:#6c8254}.empty-icon svg{width:28px;height:28px}.empty-state h2{font-size:20px;margin-bottom:9px}.empty-state p{font-size:14px;color:var(--muted);max-width:385px;margin:0 auto 25px}.panel{background:#fff;border:1px solid var(--line);padding:28px;border-radius:14px}.panel h2{font-size:20px}.account-panel{max-width:570px}.account-info{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding-bottom:25px;margin-bottom:25px;border-bottom:1px solid var(--line)}.account-info small{display:block;color:var(--muted);margin-bottom:8px}.account-info strong{font-size:14px;overflow-wrap:anywhere}.users-list{display:grid;gap:12px}.user-row{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff;padding:20px;border:1px solid var(--line);border-radius:12px}.user-details{display:flex;align-items:center;gap:14px;min-width:0}.user-details h3{font-size:14px;margin:0 0 7px;overflow-wrap:anywhere}.user-details p{font-size:12px;color:var(--muted);margin:0;overflow-wrap:anywhere}.user-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.user-labels{display:flex;gap:7px;align-items:center;margin-top:8px;flex-wrap:wrap}.detail-banner{padding:35px;display:flex;gap:20px;align-items:center;margin-bottom:24px}.detail-banner h1{margin-bottom:6px;font-size:26px;overflow-wrap:anywhere}.detail-banner p{margin:0;font-size:13px;color:var(--muted)}.back-link{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);margin-bottom:24px}.back-link:hover{color:var(--ink)}.detail-note{max-width:560px;font-size:14px;color:var(--muted);margin-bottom:0}dialog{border:1px solid var(--line);border-radius:18px;box-shadow:0 20px 90px #17251c38;padding:30px;width:min(470px,calc(100vw - 32px));max-height:90svh;overflow-y:auto;color:var(--ink)}dialog::backdrop{background:#101c1666;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px}.dialog-head h2{font-size:25px;margin:6px 0}.dialog-copy{font-size:13px;color:var(--muted);margin:0 0 24px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:26px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:50;max-width:calc(100vw - 32px);background:var(--ink);color:#fff;box-shadow:0 8px 30px #0002;border-radius:10px;padding:14px 20px;font-size:13px;line-height:1.5;display:none}#toast.visible{display:block}.offline{margin-top:24px;text-align:center}
@media(min-width:1500px){.auth-story{padding-left:11vw}.auth-content{padding-right:7vw}}@media(max-width:1000px){.workspace{grid-template-columns:200px minmax(0,1fr)}.sidebar{padding-left:12px;padding-right:12px}.topbar{padding:0 26px}.workspace-content{padding:34px 26px}.user-row{align-items:flex-start;flex-direction:column}.user-actions{justify-content:flex-start;padding-left:50px}.story-copy h1{font-size:43px}.auth-story{padding:36px}}@media(max-width:720px){.auth-layout{grid-template-columns:1fr}.auth-story{display:none}.auth-content{padding:38px 24px;min-height:100svh;align-items:flex-start}.auth-card{max-width:430px}.mobile-brand{display:block;margin-bottom:38px}.auth-card h1{font-size:27px}.workspace{display:block}.sidebar{position:static;height:auto;padding:22px 20px 13px}.sidebar>.brand{padding:0 2px}.sidebar-caption,.sidebar-bottom{display:none}.sidebar nav{flex-direction:row;margin-top:23px;gap:8px;overflow-x:auto}.nav-link{padding:10px 12px;white-space:nowrap;font-size:12px;gap:8px}.nav-link svg{width:16px;height:16px}.topbar{height:62px;padding:0 22px}.topbar-right .date{display:none}.workspace-content{padding:29px 20px 40px}.page-head{gap:15px;flex-wrap:wrap;margin-bottom:24px}.page-head h1{font-size:29px}.page-head .btn{margin-top:0;min-height:43px}.welcome-strip{padding:20px;margin-bottom:27px}.welcome-strip h2{font-size:16px}.welcome-strip .round-icon{display:none}.toolbar{align-items:flex-start;flex-direction:column;gap:16px}.search-wrap{width:100%}.project-grid{grid-template-columns:1fr}.project-card{padding:23px}.project-card .card-top{margin-bottom:20px}.empty-state{padding:38px 20px}.gate{margin:25px 16px;padding:27px 24px}.gate h1{font-size:25px}.gate-actions{flex-direction:column}.panel{padding:22px}.detail-banner{padding:23px;align-items:flex-start}.detail-banner h1{font-size:22px}.user-row{padding:18px}.user-actions{padding-left:0}.account-info{grid-template-columns:1fr}.breadcrumb{font-size:11px}.dialog-actions .btn{padding:12px 16px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Team workspace: compact controls, readable reports and touch-friendly task cards. */
select,textarea{width:100%;padding:11px 12px;border:1px solid #d7ded3;border-radius:9px;background:#fff;color:var(--ink);font:inherit;min-height:45px}textarea{resize:vertical}select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:2px solid #70944f;outline-offset:3px}.field{display:grid;gap:7px;font-size:12px;min-width:0;margin-bottom:16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin:0 0 22px;background:#edf2e8;padding:18px;border-radius:12px}.filters .field{flex:1 1 145px;margin:0}.filters input,.filters select{font-size:13px;min-height:44px}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:14px;margin:24px 0}.metric{display:flex;flex-direction:column;gap:10px;min-width:0;padding:22px;background:#fff;border:1px solid var(--line);border-radius:13px}.metric>span{font-size:12px;color:var(--muted)}.metric strong{font-size:25px;letter-spacing:-.04em;overflow-wrap:anywhere}.metric small{font-size:11px;color:var(--muted);line-height:1.5}.result-count{margin:0 0 15px}.project-stats{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px;font-size:11px;color:var(--muted)}.project-stats strong{font-size:14px;display:block;color:var(--ink);margin-bottom:4px}.category-label{margin-top:10px!important}.project-tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);margin:25px 0}.project-tabs button{background:none;padding:15px 12px;color:var(--muted);font-size:13px;border-bottom:2px solid transparent}.project-tabs button.selected{color:var(--ink);border-color:#608b3f;font-weight:700}#project-body>.panel,#report-content>.panel{margin:22px 0}.task-list{display:grid;gap:10px}.task-card{display:block;width:100%;text-align:left;padding:20px;border-radius:12px;border:1px solid var(--line);background:white;color:var(--ink);font:inherit;overflow-wrap:anywhere}.task-card:hover{border-color:#8ca977;background:#fbfdf9}.task-card strong{font-size:14px}.task-card p{font-size:12px;color:var(--muted);margin:10px 0}.task-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:11px;color:var(--muted)}.late{color:#ae3544;font-weight:650}.board{display:grid;grid-template-columns:repeat(4,minmax(210px,1fr));gap:14px;overflow-x:auto;padding-bottom:18px}.board-column{background:#edf1e7;padding:12px;border-radius:12px}.board-column h2{font-size:13px;margin:5px 0 15px}.board-column .task-card{margin-bottom:10px;padding:16px}.segmented{display:flex;gap:7px}.table-wrap{overflow-x:auto;width:100%}table{width:100%;border-collapse:collapse;font-size:12px}caption{text-align:left;color:var(--muted);font-size:11px;margin:0 0 14px}th{text-align:left;padding:12px;white-space:nowrap;font-size:11px;background:#f2f5ed;color:#57684a}td{padding:14px 12px;border-bottom:1px solid #e9ede4;white-space:nowrap}td:first-child{white-space:normal;min-width:170px;max-width:320px;overflow-wrap:anywhere}td small{display:block;font-size:10px;color:var(--muted);margin-top:5px}td a{font-weight:650;text-decoration:underline;text-underline-offset:3px}.fx-note{background:#eef4e8;border:1px solid #dce8d1;padding:15px 18px;border-radius:10px;margin:20px 0;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:12px}.fx-note small{display:block;font-size:11px;color:var(--muted);margin-top:6px;line-height:1.5}.warning{background:#fff5de!important;color:#775411!important;border-color:#e9d39e!important}.footnote{margin:22px 0;line-height:1.7}.member-list{display:grid;margin-top:18px}.member-list article{display:flex;align-items:center;gap:8px;padding:16px 0;border-bottom:1px solid var(--line)}.member-list article>div{flex:1}.member-list strong{font-size:13px}.member-list small{display:block;margin-top:5px;font-size:11px;color:var(--muted)}.notification-list{display:grid;gap:10px}.notification{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px;border:1px solid var(--line);border-radius:12px;background:white;font-size:13px}.notification.unread{border-left:4px solid #7aa753;background:#f9fcf5}.notification small{display:block;font-size:11px;color:var(--muted);margin-top:9px}.notification a:hover{text-decoration:underline}fieldset{border:0;padding:0;margin:0;min-width:0}.comments{border-top:1px solid var(--line);margin-top:28px;padding-top:22px}.comments article{padding:13px;border-radius:9px;background:#f2f5ed;margin-bottom:12px}.comments strong{font-size:12px}.comments small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.comments p{font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}.comments form{margin-top:22px}dialog:has(.form-grid){width:min(660px,calc(100vw - 32px))}#live-status{margin:0 0 18px;line-height:1.6}.panel p{overflow-wrap:anywhere}
@media(max-width:720px){.form-grid{grid-template-columns:1fr}.metrics{grid-template-columns:1fr 1fr;gap:10px}.metric{padding:16px}.metric strong{font-size:21px}.filters{padding:14px;gap:12px}.filters .field{flex-basis:125px}.fx-note{align-items:flex-start;flex-direction:column}.member-list article{flex-wrap:wrap}.member-list article>div{flex-basis:100%}.notification{flex-direction:column;align-items:flex-start}.project-tabs{overflow-x:auto;white-space:nowrap}.project-tabs button{padding:13px 9px;font-size:12px}.board{grid-template-columns:repeat(4,minmax(235px,1fr))}dialog:has(.form-grid){padding:22px}.sidebar nav{padding-bottom:4px}.task-card{padding:17px}}

.permission-switch{display:flex;align-items:center;gap:12px;margin:18px 0 10px;font-size:13px;line-height:1.5}.permission-switch input{width:21px;height:21px;min-height:21px;accent-color:#507a37;flex:none}#registration-alert:empty{display:none}#registration-alert{position:fixed;right:24px;top:24px;z-index:40;width:min(380px,calc(100vw - 32px))}.registration-popup{padding:20px;background:#f0f8e9;border:1px solid #9bbb7e;border-radius:14px;box-shadow:0 12px 45px #17251c30;font-size:13px;line-height:1.5}.registration-popup strong{display:block;overflow-wrap:anywhere}.registration-popup p{margin:8px 0 14px;color:#52644b}.registration-popup>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.registration-popup a{font-weight:700;text-decoration:underline;text-underline-offset:3px}.registration-popup button{padding:8px;background:transparent;color:#52644b;border-radius:6px}@media(max-width:720px){#registration-alert{right:16px;top:16px}}

/* SPN workspace design: clear hierarchy, compact rows, shared views. */
:root{--ink:#252633;--muted:#717280;--line:#e8e8ee;--green:#7650d8;--accent:#6d46c7;color:var(--ink);background:#fff}
body{background:#fff}button,input,select,textarea{font-family:inherit}h1{letter-spacing:-.035em}.btn{background:var(--accent);border-radius:7px;min-height:40px;padding:10px 16px;font-size:13px}.btn:hover,.btn.primary:hover{background:#5934b3}.btn.primary{background:var(--accent);color:#fff}.btn.secondary{background:#fff;color:#50505f;border:1px solid #dedee6}.btn.secondary:hover{background:#f6f3fc}.btn.small-btn{min-height:35px;padding:7px 11px}.text-button:hover,.icon-button:hover{background:#f1eef8;color:var(--accent)}button:focus-visible,a:focus-visible,input:focus,select:focus,textarea:focus{outline:2px solid #8061ca;border-color:#8061ca;outline-offset:2px}input,select,textarea{border-color:#dedee6;border-radius:7px}.brand span{color:#9877e3}.badge{background:#f0edf8;color:#665086;border-radius:4px}.badge.admin{background:#eae3fb;color:#62419f}.badge.pending{background:#fff3da;color:#8b6418}.badge.disabled{background:#efeff2;color:#6d6d7b}.notice{background:#f5f1fc;border-color:#e3daf5;color:#62498b}.help,.muted{color:var(--muted)}.count{background:#eeeef3;color:#666674;border-radius:5px}.avatar{background:#eee7fb;color:#7350b6;border-radius:50%}
.workspace{grid-template-columns:226px minmax(0,1fr);background:#fff}.sidebar{padding:24px 12px 16px;background:#f8f8fc;color:#656575;border-right:1px solid var(--line);overflow-y:auto;z-index:2}.sidebar>a{display:block;padding:0 14px 4px}.sidebar .brand{color:#292734;padding:0;font-size:30px}.sidebar-caption{padding:29px 13px 11px;color:#858493;letter-spacing:.08em;font-size:10px}.sidebar nav{gap:3px}.nav-link{min-height:39px;padding:9px 12px;border-radius:6px;gap:10px;font-size:12px}.nav-link svg{width:17px;height:17px;stroke-width:1.8}.nav-link:hover{color:#463564;background:#efedf6}.nav-link.active{background:#ede6fa;color:#6944b5;font-weight:650}.sidebar-note{border:0;margin:16px 0 10px;padding:12px 8px;color:#898593;font-size:10px}.workspace-online{display:inline-block;width:6px;height:6px;background:#35a677;border-radius:50%;margin-right:5px}.user-block{border-top:1px solid var(--line);padding:16px 5px 0}.user-block .avatar{background:#eae2fa;color:#7955b6}.user-block .user-name{color:#403c49}.user-block .user-role{font-size:10px}.sidebar-projects{margin-top:25px}.sidebar-section-title{display:flex;align-items:center;justify-content:space-between;padding:0 12px 8px;font-size:11px;font-weight:650;color:#777382}.sidebar-section-title button{width:28px;height:28px;border-radius:5px;background:transparent;color:#7c738b;font-size:19px}.sidebar-section-title button:hover{background:#eae5f2}.sidebar-project,.sidebar-all{display:flex;align-items:center;gap:9px;font-size:12px;padding:10px 12px;border-radius:5px}.sidebar-project span:last-child{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.sidebar-project:hover,.sidebar-project.selected{background:#f0eaf9;color:#664a94}.project-dot{width:7px;height:7px;border:2px solid #a995ce;border-radius:2px;flex:none}.sidebar-all{color:#887c9b;font-size:11px;justify-content:space-between}.topbar{height:59px;padding:0 28px;background:#fff}.breadcrumb{color:#898492;font-size:11px}.breadcrumb strong{color:#5c5665}.topbar-right .date{font-size:11px}.workspace-content{padding:29px 30px 55px;max-width:1660px}.page-head{margin-bottom:25px}.page-head h1{font-size:28px;margin:6px 0 8px}.page-head p{font-size:13px}.eyebrow{font-size:10px;letter-spacing:.11em;color:#8a8296}.page-head .btn{margin-top:4px}.panel{border-radius:9px;padding:23px}.panel h2{font-size:17px}.metrics{gap:12px;margin:22px 0}.metric{padding:19px 20px;border-radius:9px;gap:9px;box-shadow:0 2px 5px #29213d03}.metric>span{font-size:11px}.metric strong{font-size:27px;font-weight:650}.metric small{font-size:10px}.filters{background:#faf9fc;border:1px solid var(--line);padding:14px;border-radius:8px;gap:10px}.filters .field{flex-basis:135px}.filters input,.filters select{min-height:37px;padding:8px 10px;font-size:12px}.filters .field{font-size:10px}.project-results-head{display:flex;align-items:center;justify-content:space-between;margin:8px 0 18px;gap:12px}.project-results-head .result-count{margin:0}.view-switch{display:flex;gap:3px;align-items:center;padding:3px;border:1px solid var(--line);border-radius:7px;background:#faf9fc}.view-switch button{display:flex;align-items:center;justify-content:center;gap:7px;border-radius:5px;min-height:32px;padding:7px 12px;background:transparent;color:#7a7384;font-size:12px;white-space:nowrap}.view-switch button svg{width:15px;height:15px}.view-switch button[aria-pressed=true]{background:#fff;color:#7047bf;box-shadow:0 1px 4px #34205118;font-weight:650}.view-switch button:hover{color:#7047bf}.project-grid{grid-template-columns:repeat(auto-fill,minmax(265px,1fr));gap:17px}.project-card{padding:21px;border-radius:10px;border-color:#e6e4ec;box-shadow:0 2px 5px #241a3a03}.project-card:hover{border-color:#baa6de;box-shadow:0 5px 16px #5d408012;transform:translateY(-1px)}.project-card .card-top{margin-bottom:18px}.project-icon{width:37px;height:37px;background:#f0eafb;color:#8562c3;border-radius:8px}.project-icon svg{width:19px;height:19px}.project-card h3{font-size:16px;line-height:1.4}.project-card p{font-size:11px}.category-chip{display:inline-block;font-size:10px;background:#f5f3f9;color:#898093;border-radius:4px;padding:4px 7px;margin-top:11px}.project-progress{margin-top:22px}.progress-caption{display:flex;justify-content:space-between;gap:15px;color:#80798a;font-size:10px;margin-bottom:7px}progress{appearance:none;width:100%;height:5px;display:block;border:0;border-radius:4px;overflow:hidden;background:#ede9f2}progress::-webkit-progress-bar{background:#ede9f2}progress::-webkit-progress-value{background:#9a7ad8;border-radius:4px}progress::-moz-progress-bar{background:#9a7ad8;border-radius:4px}.card-footer{margin-top:18px;padding-top:15px;border-color:#eeebf2;color:#827a8d;font-size:10px}.card-footer span{display:flex;gap:6px;align-items:center}.card-footer svg{width:14px;height:14px}.project-table{border:1px solid var(--line);border-radius:8px}.project-table caption{padding:14px 15px 0}.project-table td:nth-child(5){min-width:150px}.project-table td a{color:#544862;text-decoration:none}.project-table td a:hover{color:var(--accent);text-decoration:underline}th{color:#82798b;background:#faf9fc;font-weight:550;font-size:10px;letter-spacing:.025em;border-bottom:1px solid var(--line)}td{border-color:#efedf3}td small{color:#8b8294}.empty-state{border-color:#ded7ea;background:#fcfbfe;border-radius:10px}.empty-state p{margin-bottom:0}
.project-breadcrumb{display:flex;align-items:center;gap:10px;font-size:11px;color:#9a91a3;margin-bottom:19px}.project-breadcrumb a{color:#766b83}.project-heading{display:flex;align-items:center;gap:14px}.project-heading>.project-icon{width:43px;height:43px;flex:none}.project-heading>div{flex:1;min-width:0}.project-heading h1{font-size:27px;margin:0 0 5px;overflow-wrap:anywhere}.project-heading p{font-size:11px;color:#91879c;margin:0}.project-summary{display:flex;align-items:center;gap:30px;margin:24px 0 8px}.project-summary>div{display:flex;flex-direction:column;gap:8px;min-width:100px}.project-summary>div>span{font-size:10px;color:#958b9f}.project-summary strong{font-size:12px;font-weight:550}.project-summary .summary-progress{margin-left:auto;width:170px;gap:0}.mini-avatar{width:25px;height:25px;display:inline-grid;place-items:center;border-radius:50%;background:#eee7f8;color:#8263ac;font-size:9px;font-weight:650;flex:none}.avatar-stack{display:flex}.avatar-stack .mini-avatar{border:2px solid white;margin-right:-5px;background:#e9e1f4}.avatar-stack .mini-avatar:nth-child(2n){background:#e5edf9;color:#6480a6}.avatar-stack .mini-avatar:nth-child(3n){background:#fbede1;color:#a68060}.project-tabs{gap:23px;margin:25px 0 18px}.project-tabs button{padding:13px 2px;font-size:12px;color:#8b8096}.project-tabs button.selected{color:var(--accent);border-color:#8e67d3;font-weight:650}.task-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:17px}.task-filters{display:flex;flex-wrap:wrap;gap:9px;align-items:flex-end}.task-filters .field{font-size:10px;flex:1 1 115px;min-width:0;margin-bottom:0;gap:6px}.task-filters .field:first-child{flex:1.6 1 190px}.task-filters input,.task-filters select{min-height:36px;padding:7px 9px;font-size:11px}.task-filter-summary{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#918697;margin:14px 0;gap:12px}.task-filter-summary>div{display:flex;gap:7px}.task-filter-summary .btn{font-size:10px;min-height:29px;padding:5px 9px}.quick-task{display:flex;align-items:center;gap:12px;border:1px dashed #dacdee;background:#fcfaff;padding:10px 12px;border-radius:7px;margin:17px 0;flex-wrap:wrap}.quick-task>label{display:flex;align-items:center;gap:7px;font-size:11px;color:#8b70ac;font-weight:550}.quick-task>label svg{width:15px;height:15px}.quick-task>input{min-height:35px;flex:1 1 180px;width:auto;background:white;padding:8px 11px;font-size:12px;border-color:#e7e0ee}.quick-task .error{flex-basis:100%;margin:0}.quick-task>.help{font-size:10px;flex-basis:100%;padding-left:2px}.quick-task .btn{font-size:11px}#task-live-status{margin-bottom:12px}#task-live-status:empty{display:none}.task-group{margin:19px 0 25px}.task-group-heading{display:flex;align-items:center;gap:8px;background:transparent;padding:5px 0 10px;color:#867b94}.task-group-heading .count{margin-left:0;background:#f0ecf5;font-size:10px}.group-chevron{font-size:15px;width:14px}.status-label{display:inline-flex;align-items:center;gap:7px;border-radius:4px;padding:4px 8px;font-size:10px;font-weight:650;line-height:1.4;white-space:nowrap}.status-dot{display:inline-block;width:6px;height:6px;background:currentColor;border-radius:2px;flex:none}.status-todo{--status-color:#82738f;--status-bg:#f0ebf5}.status-doing{--status-color:#4b79ad;--status-bg:#eaf2fc}.status-review{--status-color:#ae791d;--status-bg:#fff4d9}.status-done{--status-color:#318566;--status-bg:#e8f6ef}.status-label,.inline-status,.calendar-task{color:var(--status-color);background:var(--status-bg)}.task-table{border:1px solid var(--line);border-radius:7px;overflow:hidden}.task-table th{padding:9px 12px}.task-table td{padding:10px 12px;font-size:11px}.task-table td:first-child{width:40%;min-width:205px;max-width:420px}.task-table tr:hover td{background:#fdfbff}.task-title{background:transparent;color:#534c5d;text-align:left;font-size:12px;line-height:1.5;padding:4px 0;overflow-wrap:anywhere;font-weight:550;max-width:100%}.task-title:hover{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.task-blocker{display:inline-block;font-size:9px;color:#a06924;background:#fff4df;border-radius:3px;margin-left:8px;padding:2px 5px}.task-table td small{font-size:9px}.assignee{display:flex;align-items:center;gap:7px;font-size:10px;color:#8b7f97}.inline-status{min-height:29px;border:1px solid transparent;border-radius:4px;width:139px;padding:5px 7px;font-size:10px}.priority-label{font-size:10px;display:inline-flex;align-items:center;gap:3px;white-space:nowrap}.priority-normal{color:#a096ac}.priority-high{color:#b58a35}.priority-urgent{color:#c66570}.priority-label>span{font-size:15px}.late{color:#bc5364;font-weight:550}.board{grid-template-columns:repeat(4,minmax(225px,1fr));gap:13px;margin-top:14px;align-items:start}.board-column{background:#faf8fc;border:1px solid #eee9f4;border-top:3px solid var(--status-color);border-radius:8px;padding:11px;min-height:240px}.board-column>h2{display:flex;align-items:center;justify-content:space-between;margin:0 0 14px;font-size:11px}.board-column h2 .status-label{padding:3px 0;background:none}.board-column h2 .count{margin:0}.board-task{background:#fff;border:1px solid #e7e1ef;border-radius:7px;padding:12px;margin:0 0 10px;box-shadow:0 2px 4px #2b123303}.board-task[draggable=true]{cursor:grab}.board-task:active{cursor:grabbing}.board-task .task-title{display:block;width:100%;padding:0 0 9px;font-size:12px}.board-task-meta{display:flex;flex-direction:column;gap:10px;margin:8px 0 12px;font-size:10px;color:#a093ad}.board-task-bottom{display:flex;align-items:center;justify-content:space-between;gap:5px;border-top:1px solid #f2edf6;padding-top:9px}.board-task-bottom .inline-status{width:128px;font-size:9px}.column-empty{font-size:11px;color:#a79bad;line-height:1.5;padding:12px 3px}.board-hint{font-size:10px;color:#a093ad}.drop-active{outline:2px dashed #a88cce;background:#f0e9fb}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:24px 0 12px}.calendar-toolbar h2{font-size:17px;text-transform:capitalize;margin:0}.calendar-toolbar>div{display:flex;gap:6px}.calendar-toolbar .btn{font-size:10px;padding:7px 9px}.calendar-scroll{overflow-x:auto;margin:15px 0;border:1px solid var(--line);border-radius:8px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(110px,1fr));min-width:770px}.calendar-weekday{background:#faf8fc;text-align:center;font-size:10px;color:#a18cac;padding:11px;border-bottom:1px solid var(--line)}.calendar-day{min-height:125px;border-right:1px solid #eee8f3;border-bottom:1px solid #eee8f3;padding:8px;min-width:0}.calendar-day:nth-child(7n){border-right:0}.calendar-day time{font-size:10px;color:#90819b;display:inline-grid;place-items:center;width:23px;height:23px;margin-bottom:6px}.calendar-day.today time{background:#8052bc;color:white;border-radius:50%}.calendar-day.outside{background:#fbf9fc}.calendar-day.outside time{color:#b7a9c1}.calendar-task{display:flex;align-items:flex-start;gap:4px;text-align:left;border-radius:4px;font-size:10px;line-height:1.4;overflow-wrap:anywhere;padding:6px;width:100%;margin:3px 0}.calendar-task .status-dot{margin-top:4px;width:4px;height:4px}.calendar-undated{border:1px solid var(--line);border-radius:7px;padding:17px}.calendar-undated h3{font-size:12px;color:#96849d}.calendar-undated .task-title{display:block;margin-top:4px}.my-work-section{border:1px solid var(--line);border-radius:8px;margin-bottom:20px;overflow:hidden}.my-work-section h2{font-size:12px;margin:0;padding:15px 18px;background:#faf8fc;border-bottom:1px solid var(--line);color:#82728f}.my-work-section h2.late{color:#b76475}.my-work-row{display:flex;align-items:center;gap:18px;padding:14px 18px;border-bottom:1px solid #f0eaf5;font-size:10px;color:#91809e}.my-work-row:last-child{border-bottom:0}.my-work-row:hover{background:#fdfaff}.my-work-row>div:first-child{flex:1;min-width:160px}.my-work-row strong{display:block;font-size:12px;font-weight:550;color:#62516e}.my-work-row small{display:block;font-size:10px;margin-top:5px;color:#a08cab}.my-work-row .status-label{min-width:105px}.user-row{border-radius:8px}.notification{border-radius:8px}.notification.unread{border-left-color:#a585d6;background:#fdfaff}.fx-note{background:#faf7fe;border-color:#e9def4}.comments article{background:#f8f4fc}.registration-popup{background:#faf5ff;border-color:#c2a5e0;box-shadow:0 12px 45px #44246125}.registration-popup p,.registration-popup button{color:#826294}
dialog{border-radius:12px;box-shadow:0 20px 90px #2b174d33}dialog::backdrop{background:#24152c45;backdrop-filter:blur(1px)}dialog.task-drawer{position:fixed;inset:0 0 0 auto;margin:0;width:min(640px,100vw);max-width:100vw;height:100svh;max-height:100svh;border:0;border-left:1px solid #e8dcef;border-radius:0;padding:27px 28px;box-shadow:-15px 0 55px #37203f16}dialog.task-drawer::backdrop{background:#29203228;backdrop-filter:none}.task-drawer .dialog-head h2{font-size:19px;letter-spacing:-.02em}.task-drawer .dialog-copy{font-size:11px}.task-drawer input[name=title]{font-size:20px;font-weight:650;min-height:51px;color:#624577}.task-drawer .field{font-size:11px}.task-drawer .dialog-actions{padding-top:16px;border-top:1px solid var(--line);margin-top:20px}.task-drawer .comments{margin-top:25px}.task-drawer .comments h3{font-size:15px;color:#775384}
.auth-story{background:#241b38}.auth-story .brand span,.story-copy h1 span{color:#cbb6f3}.story-copy .eyebrow{color:#c1afdf}.story-copy p,.story-bottom{color:#b5a4cd}.story-art{background:#302443;border-color:#503c69;box-shadow:12px 12px 0 #291f39}.art-top svg{color:#baa0e5}.art-dot{background:#c0a3ee}.art-line{background:#55416d}.art-line.short{background:#463657}.auth-content{background:#fdfcff}.auth-tab.active{color:#7248b4;border-color:#8d61c7}.gate-icon{background:#f0e6fb;color:#9d77c7}
@media(max-width:1100px){.workspace{grid-template-columns:195px minmax(0,1fr)}.workspace-content{padding:25px 22px}.project-summary{gap:20px}.task-filters .field{flex-basis:125px}.project-heading h1{font-size:24px}}
@media(max-width:720px){.workspace{display:block}.sidebar{height:auto;position:static;padding:18px 16px 10px;overflow:visible}.sidebar>a{padding:0 3px}.sidebar nav{margin-top:17px;flex-direction:row;overflow-x:auto;gap:4px;padding-bottom:5px}.sidebar-projects,.sidebar-bottom,.sidebar-caption{display:none}.nav-link{font-size:11px;padding:8px 10px;white-space:nowrap;flex:none}.topbar{height:46px;padding:0 18px}.workspace-content{padding:23px 16px 40px}.page-head h1{font-size:25px}.project-grid{grid-template-columns:1fr}.project-heading{align-items:flex-start;flex-wrap:wrap;gap:11px}.project-heading>div{flex-basis:calc(100% - 58px)}.project-heading h1{font-size:24px}.project-heading>.btn{margin-left:54px;min-height:30px}.project-summary{display:grid;grid-template-columns:1fr 1fr;gap:19px;margin-top:22px}.project-summary .summary-progress{margin:0;width:100%;align-self:center}.project-tabs{gap:18px;margin-top:21px}.project-tabs button{font-size:11px;white-space:nowrap}.task-toolbar{align-items:stretch;gap:10px;flex-direction:column}.view-switch{width:fit-content;max-width:100%}.view-switch button{padding:8px 10px;font-size:11px;min-height:34px}.task-toolbar>.btn{align-self:flex-start}.task-filters .field{flex:1 1 44%}.task-filters .field:first-child{flex-basis:100%}.task-filters input,.task-filters select{min-height:40px;font-size:12px}.task-filter-summary{align-items:flex-start;flex-wrap:wrap}.quick-task{gap:8px;padding:10px}.quick-task>label{flex-basis:100%}.quick-task>input{flex-basis:170px;min-width:0}.task-table{min-width:690px}.task-table .task-title{min-height:35px}.task-table td{padding:9px 10px}.board{grid-template-columns:repeat(4,245px)}.board-task .task-title{min-height:35px}.board-task-bottom .inline-status{min-height:36px}.calendar-toolbar{align-items:flex-start;flex-direction:column}.calendar-toolbar .btn{min-height:36px}.metrics{grid-template-columns:1fr 1fr;gap:9px}.metric{padding:16px}.metric strong{font-size:24px}.my-work-row{flex-wrap:wrap;gap:10px;padding:14px}.my-work-row>div:first-child{flex-basis:100%}.my-work-row .status-label{min-width:auto}.project-results-head{align-items:center}.project-results-head .view-switch button{font-size:10px}.project-results-head .help{font-size:10px}dialog.task-drawer{width:100vw;padding:23px 20px}.task-drawer .form-grid{grid-template-columns:1fr 1fr}.task-drawer input[name=title]{font-size:18px}.task-drawer .field{min-width:0}.task-drawer select{font-size:12px;padding:9px 6px}.auth-content{padding:34px 24px}}
/* Legibility and compactness refinements after the first visual pass. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.project-summary{margin-top:18px}.project-tabs{margin-top:16px;margin-bottom:15px}.project-tabs button{padding:11px 2px}.task-toolbar{margin-bottom:13px}.task-filter-summary{margin:10px 0}.quick-task{margin:12px 0;padding:8px 10px}.task-group{margin:15px 0 22px}.task-group-heading{padding-bottom:8px}.project-breadcrumb,.project-heading p,.project-summary>div>span,.category-chip,.progress-caption,.card-footer,.task-filter-summary,.board-hint,.column-empty,.calendar-weekday,.calendar-day time,.my-work-row,.my-work-row small,.assignee,.priority-normal,.sidebar-all,.sidebar-note,.eyebrow{color:#746b7e}.status-todo{--status-color:#695b76}.status-doing{--status-color:#386793}.status-review{--status-color:#886017}.status-done{--status-color:#257050}.priority-high{color:#89611a}.priority-urgent,.late{color:#ac3e54}.mini-avatar{color:#6d4f96}.project-summary>div>span,.progress-caption,.card-footer,.task-filters .field,.task-filter-summary,.board-hint,.column-empty,.assignee,.priority-label{font-size:11px}.task-table td,.task-title{font-size:12px}.task-table th{font-size:11px}.task-table th,.task-table td small,.calendar-weekday,.my-work-section h2,.project-tabs button{color:#756b81}.inline-status{font-size:11px;min-height:32px}.project-card p{color:#746b7e}.task-drawer .dialog-copy{font-size:12px}.task-drawer .field{font-size:12px}.task-drawer .comments small{font-size:11px}
/* Everyday project operations */
.saved-views{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0 18px}.saved-views>span{font-size:12px;color:#655b70;font-weight:650}.attention-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.attention-grid details{padding:14px;border:1px solid #e8e4ee;border-radius:10px;background:#fcfbfd}.attention-grid summary{cursor:pointer;font-weight:600}.attention-grid summary strong{float:right}.attention-grid a{display:block;margin-top:10px;font-size:13px}.checklist-row{display:flex;align-items:center;gap:10px;margin:8px 0}.checklist-row input[type=checkbox]{width:20px;min-height:20px}.checklist-row input:not([type=checkbox]){flex:1;min-width:0}.task-checklist{border-top:1px solid #ece8f0;padding-top:12px;margin-top:16px}.history-entry{border-bottom:1px solid #ece8f0;padding:14px 0}.history-entry summary{cursor:pointer;font-weight:600}.history-entry p{overflow-wrap:anywhere;font-size:13px}.project-tabs{overflow-x:auto;white-space:nowrap}.toolbar{flex-wrap:wrap}.panel .metrics{margin:16px 0}.panel .small-btn{margin-bottom:4px}dialog .panel{padding:16px 0;border:none}#template-preview{max-height:260px;overflow:auto}#template-preview p{font-size:13px}@media(max-width:600px){.attention-grid{grid-template-columns:1fr}.saved-views{gap:6px}.checklist-row{gap:6px}}
.amount-link{font:inherit;color:inherit;border:0;background:transparent;padding:0;text-decoration:underline;text-decoration-color:#b9a7df;text-underline-offset:4px;cursor:pointer;white-space:nowrap}.amount-link:hover{color:#6441b5}.amount-link:focus-visible{outline:2px solid #6441b5;outline-offset:4px}

.module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin:20px 0}.module-card{margin:0;display:flex;flex-direction:column;align-items:flex-start;gap:12px}.module-card h2,.module-card p{margin:0}.module-card p{flex:1}.module-record{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;border-bottom:1px solid var(--line,#eee)}.module-record h3{margin:5px 0}.module-record small{color:#64748b}.module-choices{max-height:280px;overflow:auto}.record-value p{white-space:pre-wrap;overflow-wrap:anywhere}.history-entry pre{white-space:pre-wrap;overflow-wrap:anywhere}.task-toolbar .view-switch{flex-wrap:wrap}.module-record>div:last-child{display:flex;gap:6px;flex-wrap:wrap}@media(max-width:600px){.module-record{align-items:flex-start;flex-direction:column}}

/* Immediate navigation feedback without waiting for data requests. */
.route-loading{display:flex;align-items:center;gap:12px;min-height:160px;justify-content:center;color:var(--muted,#6b7280)}
.loading-spinner{width:22px;height:22px;flex:none;border:3px solid #e7e1f6;border-top-color:#7c3aed;border-radius:50%;animation:route-spin .8s linear infinite}
@keyframes route-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.loading-spinner{animation:none}}

.action-loading{cursor:progress;opacity:.65}

/* Global module switch and standalone destinations. */
.standalone-navigation{display:contents}.module-switch-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px}.module-switch-row strong{font-size:11px;color:var(--muted)}.module-switch{padding:3px;width:44px;height:26px;min-height:26px;flex:none;background:#b9b3c3;border:0;border-radius:20px;cursor:pointer}.module-switch>span{display:block;width:20px;height:20px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #0002;transition:transform .15s}.module-switch[aria-checked="true"]{background:#7c3aed}.module-switch[aria-checked="true"]>span{transform:translateX(18px)}.module-switch:focus-visible{outline:3px solid #b7a0e0;outline-offset:3px}.module-switch:disabled{opacity:.6;cursor:progress}.module-card h3{margin:0;font-size:17px}@media(prefers-reduced-motion:reduce){.module-switch>span{transition:none}}

.chart-toggle{display:flex;align-items:center;gap:12px;margin:18px 0;flex-wrap:wrap}.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:16px}.report-chart{min-width:0}.chart-row{margin:18px 0}.chart-label{font-weight:600;margin-bottom:7px;overflow-wrap:anywhere}.chart-series{display:grid;grid-template-columns:85px minmax(60px,1fr) 112px;gap:8px;align-items:center;margin:5px 0;font-size:12px}.chart-series svg{width:100%;height:18px}.chart-series strong{text-align:right;font-variant-numeric:tabular-nums}@media(max-width:500px){.chart-series{grid-template-columns:65px minmax(40px,1fr) 105px;font-size:11px}}

.chat-channels{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.chat-channels .selected{background:#eee7fc;border-color:#8966c3}.chat-messages{max-height:52vh;overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding:4px}.chat-message{max-width:85%;border:1px solid #e7e2ef;background:#faf8fd;padding:14px 18px;border-radius:12px}.chat-message.mine{align-self:flex-end;background:#f0eafa}.chat-message header{display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;font-size:12px}.chat-message time{color:#6c6576}.chat-message p,.progress-entry p{white-space:pre-wrap;overflow-wrap:anywhere}.progress-entry{border-top:1px solid #eee;padding:15px 0}.planner-grid{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));gap:8px;overflow-x:auto}.planner-day{min-width:130px;background:#faf8fd;border:1px solid #eee;border-radius:8px;padding:10px}.planner-day h3{font-size:14px}.planner-day article{background:white;border:1px solid #ded5ee;padding:10px;margin:8px 0;border-radius:7px;overflow-wrap:anywhere;font-size:12px}.planner-day small{display:block;margin:8px 0}.planner-day .btn{margin-bottom:8px}.project-heading{flex-wrap:wrap}.project-heading>div{min-width:180px}
