/* ProcureSphere UI system: tokens, components, layouts and accessible motion. */
:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#24344b;background:#f5f7fa;font-synthesis:none;text-rendering:optimizeLegibility;--tenant-primary:#142b49;--tenant-accent:#087f8c;--navy:#172e4b;--teal:var(--tenant-accent);--muted:#788497;--line:#e6ebf1;--surface:#fff;--radius:16px;--ease:cubic-bezier(.2,.7,.2,1);--sidebar-width:250px}
*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;touch-action:manipulation}a{color:inherit;text-decoration:none}[hidden]{display:none!important}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #22a7aa;outline-offset:4px}input,textarea,select{accent-color:var(--tenant-accent)}::selection{background:#c8ece8;color:#153f48}.icon{width:20px;height:20px;flex-shrink:0;vertical-align:middle}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:#fff;padding:14px;border-radius:8px}.skip-link:focus{top:12px}
/* Workspace frame */
.shell{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);min-height:100vh;transition:grid-template-columns .25s var(--ease)}.sidebar{position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;background:#101f35;background:color-mix(in srgb,var(--tenant-primary) 78%,#091321);color:#d4dfed;padding:29px 18px 18px;z-index:40;overflow-y:auto;overflow-x:hidden;border-right:1px solid #203249}.brand{display:flex;align-items:center;gap:11px;padding:0 5px;margin-bottom:34px;white-space:nowrap}.brand-mark{width:39px;height:42px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,var(--tenant-accent),#148c92);color:#fff;flex-shrink:0;box-shadow:0 4px 14px #0da89a22}.brand-mark .icon{width:24px;height:24px}.brand-name{font-size:18px;font-weight:700;letter-spacing:-.7px;color:#fff}.brand-name>span{display:block;font-size:8px;letter-spacing:1.4px;font-weight:500;color:#829bb8;margin-top:5px}.institution-card{display:flex;align-items:center;gap:10px;background:#1c2b40;border:1px solid #2b3b51;padding:12px 10px;border-radius:11px;margin-bottom:33px}.institution-symbol{width:30px;height:30px;display:grid;place-items:center;background:#293c53;border-radius:7px;flex-shrink:0;color:#b4cbdc}.institution-symbol .icon{width:17px;height:17px}.institution-card>div{min-width:0}.institution-card strong{font-size:11px;line-height:1.6;display:block;max-height:36px;overflow:hidden;color:#e2eaf4}.institution-card div>span{display:block;font-size:10px;color:#889cb6;margin-top:3px}.nav-label{font-size:9px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:#7187a2;padding:0 13px;margin-bottom:13px}.nav-list{display:grid;gap:6px}.nav-item{border:0;background:transparent;color:#a6b6cb;padding:12px 13px;border-radius:10px;text-align:left;display:flex;align-items:center;gap:12px;font-size:12px;font-weight:500;min-height:44px;width:100%;transition:background .18s,color .18s;white-space:nowrap}.nav-item .icon{width:18px;height:18px}.nav-item:hover{background:#1d3049;color:#fff}.nav-item.active{color:#fff;background:linear-gradient(100deg,var(--tenant-accent),#117487);box-shadow:0 4px 15px #0002}.nav-dot{height:5px;width:5px;background:#a0e5de;border-radius:50%;margin-left:auto}.side-foot{margin-top:auto;padding-top:35px}.workspace-status{display:flex;align-items:center;gap:8px;color:#859bb6;font-size:10px;padding:0 13px 20px}.workspace-status i,.orbit-caption i{width:6px;height:6px;border-radius:50%;background:#38c9a1;box-shadow:0 0 0 3px #38c9a110}.side-user{border-top:1px solid #29384d;padding:19px 5px 13px;display:flex;gap:10px;align-items:center}.side-user>div{min-width:0}.side-user strong{display:block;color:#d5dfed;font-size:11px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-user div>span{display:block;font-size:10px;color:#7b91ac;margin-top:5px;text-transform:capitalize}.avatar{width:34px;height:34px;border-radius:11px;background:#e4eeed;color:#39766e;display:inline-grid;place-items:center;font-size:11px;font-weight:700;flex-shrink:0}.side-user .avatar{background:#2b4158;color:#b4d9d3}.logout{padding:9px 11px;min-height:36px;color:#8299b5;font-size:11px}.main{min-width:0}.topbar{height:76px;position:sticky;top:0;z-index:25;border-bottom:1px solid var(--line);background:#ffffffec;backdrop-filter:blur(20px);display:flex;align-items:center;justify-content:space-between;padding:0 34px;gap:15px}.topbar-start,.top-actions{display:flex;align-items:center;gap:18px;min-width:0}.icon-button{height:34px;width:34px;border:1px solid transparent;border-radius:9px;background:transparent;display:inline-grid;place-items:center;color:#77869b;transition:background .15s,color .15s;flex-shrink:0}.icon-button:hover{background:#ecf2f6;color:#24415b}.icon-button .icon{height:18px;width:18px}.crumb{display:flex;align-items:center;gap:12px;font-size:11px;color:#9aa5b4;white-space:nowrap}.crumb .icon{height:12px;width:12px;color:#bbc4cf}.crumb strong{color:#46566f;font-weight:500}.command-trigger{border:1px solid var(--line);background:#f8fafc;color:#8b97a8;padding:8px 11px;border-radius:9px;font-size:10px;display:flex;align-items:center;gap:10px}.command-trigger .icon{width:15px;height:15px}kbd{font-size:9px;padding:3px 5px;border:1px solid #e1e7ee;background:#fff;border-radius:4px;color:#97a1ad;margin-left:12px}.topbar-divider{height:25px;width:1px;background:var(--line)}.top-avatar{width:33px;height:33px;border-radius:50%;box-shadow:0 0 0 4px #f4f7f8}.tenant-select{max-width:180px;border:1px solid var(--line);border-radius:8px;padding:8px;color:#506078;background:#fff;font-size:11px}.content{padding:34px 38px 26px;max-width:1600px;margin:auto;outline:0;min-height:calc(100vh - 130px)}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:26px;animation:rise-in .35s var(--ease)}.overline{display:block;font-size:9px;font-weight:700;letter-spacing:1.55px;color:var(--tenant-accent);text-transform:uppercase;margin-bottom:11px}.page-head h1{font-size:28px;letter-spacing:-1px;font-weight:650;margin:0 0 10px;line-height:1.2;color:#1c2e47}.page-head p{font-size:12px;line-height:1.65;margin:0;color:#7c899c;max-width:700px}.workspace-footer{display:flex;justify-content:space-between;padding:16px 38px 24px;color:#9ca7b6;font-size:10px;gap:16px}.workspace-footer>span{display:flex;align-items:center;gap:6px}.workspace-footer b{font-size:8px;background:#e7edef;border-radius:4px;padding:2px 4px;color:#74948d}.workspace-footer .icon{width:12px;height:12px}.sidebar-scrim,.mobile-menu{display:none}.compact{--sidebar-width:83px}.compact .sidebar{padding-left:14px;padding-right:14px}.compact .brand{padding:0 7px}.compact .brand-name,.compact .institution-card,.compact .nav-label,.compact .nav-item>span,.compact .nav-dot,.compact .side-user>div,.compact .workspace-status{display:none}.compact .brand{margin-bottom:36px}.compact .nav-item{justify-content:center;padding:13px 0}.compact .side-user{justify-content:center}.compact .nav-item .icon{width:20px;height:20px}
/* Overview */
.welcome-banner{position:relative;overflow:hidden;background:linear-gradient(112deg,#173b4b,#194653 50%,#135e64);border-radius:18px;padding:31px 36px;display:flex;justify-content:space-between;gap:25px;min-height:254px;margin-bottom:24px;color:#fff;animation:rise-in .4s var(--ease)}.welcome-banner::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 90% 5%,#2ebda72b,transparent 40%);pointer-events:none}.welcome-banner>div{z-index:1}.hero-kicker{font-size:8px;font-weight:600;letter-spacing:1.9px;color:#9ed9cf}.welcome-banner h2{font-size:31px;letter-spacing:-.9px;line-height:1.3;font-weight:600;margin:14px 0 10px}.welcome-banner h2 em{font-style:normal;font-weight:400;color:#abe2d9}.welcome-banner p{font-size:11px;line-height:1.7;color:#b2d0d3;max-width:380px;margin:0 0 21px}.hero-button{background:#fff!important;color:#23525b!important;border:0!important}.hero-orbit{position:relative;flex:0 0 250px;margin-right:18px;min-height:220px;display:grid;place-items:center}.orbit-ring{width:190px;height:190px;border:1px solid #a9efdf26;border-radius:50%;box-shadow:0 0 0 25px #a9efdf06,0 0 0 26px #a9efdf17,0 0 0 60px #a9efdf05;position:absolute}.orbit-center{display:grid;place-items:center;width:95px;height:95px;border-radius:28px;transform:rotate(-8deg);background:linear-gradient(145deg,#a6e5d53a,#40bfa820);border:1px solid #b9f5dd4f;box-shadow:0 18px 35px #062c3a35}.orbit-center .icon{width:46px;height:46px;color:#b1efdc;transform:rotate(8deg);stroke-width:1.1}.orbit-node{position:absolute;width:39px;height:39px;display:grid;place-items:center;border:1px solid #84c1b956;border-radius:12px;color:#c0e9dd;background:#285e65;box-shadow:0 10px 16px #0b3c4c55}.node-one{top:13px;left:43px;transform:rotate(-10deg)}.node-two{top:48px;right:9px;transform:rotate(10deg)}.node-three{bottom:14px;left:42px;transform:rotate(-5deg)}.orbit-caption{position:absolute;bottom:-9px;right:8px;display:flex;align-items:center;gap:7px;font-size:8px;color:#bfdfd6;background:#225761;border:1px solid #508980;border-radius:20px;padding:7px 10px}.grid{display:grid;gap:19px}.metrics{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:24px}.platform-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.metric{background:#fff;border:1px solid var(--line);border-radius:14px;padding:19px 20px;box-shadow:0 3px 9px #20324a03;transition:transform .2s,box-shadow .2s;animation:rise-in .45s var(--ease)}.metric:hover{transform:translateY(-3px);box-shadow:0 8px 22px #20324a0c}.metric-top{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:10px;font-weight:500;color:#78879a}.metric-icon{width:32px;height:32px;border-radius:9px;background:#e9f5f2;display:inline-grid;place-items:center;color:#188a7d;flex-shrink:0}.metric-icon .icon{height:16px;width:16px}.metric-icon.blue{background:#edf2fb;color:#5681bd}.metric-icon.violet{background:#f1edfa;color:#9875bc}.metric-icon.amber{background:#fdf4e8;color:#c99a54}.metric-value{font-size:31px;letter-spacing:-1px;font-weight:650;color:#24364c;margin:10px 0 6px;line-height:1.2;font-variant-numeric:tabular-nums}.metric-note{font-size:10px;color:#929dae;line-height:1.6}.dashboard-columns{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:22px}.pipeline-chart{padding:11px 0 13px;display:grid;gap:20px}.pipeline-row{display:grid;grid-template-columns:85px 1fr 25px;gap:14px;align-items:center;font-size:10px;color:#8290a2}.pipeline-row b{font-size:11px;text-align:right;font-weight:600;color:#465772}.pipeline-track{height:10px;border-radius:4px;background:#f2f5f8;overflow:hidden}.pipeline-fill{height:100%;border-radius:4px;background:#4e8d9b;animation:bar-in .6s var(--ease);transform-origin:left}.fill-1{background:#69a5af}.fill-2{background:#81b8b6}.fill-3{background:#a0cfc3}.fill-4{background:#badccb}.chart-caption{font-size:9px;color:#9aa5b5;padding-top:5px}.chip{border:1px solid #e9edf2;border-radius:6px;padding:5px 8px;color:#8c98a9;font-size:9px;background:#fafbfd;white-space:nowrap}.deadline-item{border:0;border-bottom:1px solid #eff2f6;background:transparent;display:flex;align-items:center;gap:13px;text-align:left;padding:14px 0;width:100%;color:inherit}.deadline-item:last-child{border:0}.deadline-date{background:#f1f6f5;display:flex;flex-direction:column;align-items:center;justify-content:center;width:42px;height:46px;border-radius:9px;color:#608a83;flex-shrink:0}.deadline-date b{font-size:16px}.deadline-date small{font-size:8px;text-transform:uppercase;margin-top:2px}.deadline-item>span:nth-child(2){flex:1;min-width:0}.deadline-item strong{display:block;font-size:11px;line-height:1.5;font-weight:600;color:#4d6079}.deadline-item small:not(.deadline-date small){display:block;font-size:9px;color:#9aa5b3;margin-top:6px}.deadline-item>.icon{width:13px;height:13px;color:#a2aebb;transition:transform .2s}.deadline-item:hover>.icon{transform:translateX(3px);color:#22897d}.quick-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.quick-link{display:flex;align-items:center;gap:12px;border:1px solid var(--line);background:#fff;border-radius:12px;text-align:left;padding:18px;color:#4b6178;transition:border-color .2s,transform .2s}.quick-link:hover{border-color:#98bfb9;transform:translateY(-2px)}.quick-icon{display:grid;place-items:center;width:35px;height:35px;border-radius:10px;background:#f0f5f7;color:#73959c;flex-shrink:0}.quick-icon .icon{width:18px;height:18px}.quick-link>span:nth-child(2){flex:1}.quick-link strong{display:block;font-size:11px;font-weight:600;line-height:1.5}.quick-link small{display:block;font-size:9px;color:#94a0b0;line-height:1.5;margin-top:5px}.quick-link>.icon{width:14px;height:14px;color:#9bacbc}
/* Shared cards and workflow tabs */
.card{padding:24px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 2px 6px #1e304603;margin-bottom:22px;animation:rise-in .3s var(--ease)}.card-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px}.card h2,.card h3{margin:0;font-size:14px;letter-spacing:-.2px;font-weight:650;color:#354b64}.card h3{font-size:13px}.card-note{font-size:10px;line-height:1.7;color:#8d99aa;margin:6px 0 0;max-width:630px}.columns{grid-template-columns:repeat(2,minmax(0,1fr))}.columns>.card{min-width:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:8px;padding:10px 15px;font-size:11px;line-height:1.4;font-weight:600;white-space:nowrap;transition:background .16s,transform .16s,box-shadow .16s}.btn .icon{width:15px;height:15px}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0)}.btn.primary{background:var(--tenant-accent);color:#fff;box-shadow:0 3px 7px #087f8c15}.btn.primary:hover{filter:brightness(1.08);box-shadow:0 5px 14px #087f8c25}.btn.secondary{background:#fff;border-color:#e0e6ed;color:#65768d}.btn.secondary:hover{background:#f6f9fa;border-color:#bfced7}.btn.dark{background:#203650;color:#fff}.btn.danger{background:#fff0ed;border-color:#f4dad6;color:#b25c52}.btn.small{font-size:10px;padding:7px 10px}.row-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.workflow-tabs{display:flex;gap:4px;border-bottom:1px solid #e1e7ee;margin:5px 0 26px;overflow-x:auto;scrollbar-width:thin}.workflow-tabs button{display:flex;align-items:center;gap:8px;padding:15px 17px 16px;background:transparent;border:0;border-bottom:2px solid transparent;color:#929dac;font-size:11px;font-weight:600;white-space:nowrap;transition:color .2s,border .2s}.workflow-tabs button .icon{height:16px;width:16px}.workflow-tabs button b{font-size:9px;padding:3px 6px;border-radius:5px;background:#eaf0f3;color:#90a0b0;font-weight:600;min-width:20px}.workflow-tabs button[aria-selected=true]{border-color:var(--tenant-accent);color:var(--tenant-accent)}.workflow-tabs button[aria-selected=true] b{background:#e0f1ed;color:#428f80}.workflow-tabs button:hover{color:#3d7181}.workflow-panel{animation:rise-in .25s var(--ease)}.composer{background:linear-gradient(110deg,#fff,#f9fcfc);border:1px solid #dcebe8}.composer .card-head{margin-bottom:0}.composer form{margin-top:23px;padding-top:22px;border-top:1px solid #e5eeec}.composer-toggle{flex-shrink:0}.section-title{color:#6a7e96;font-size:10px;text-transform:uppercase;letter-spacing:1px;font-weight:600;margin:24px 0 13px}.permission,.notice{background:#f0f8f7;border:1px solid #d9ece8;color:#6b8c89;border-radius:10px;padding:15px 18px;font-size:11px;line-height:1.8;margin-bottom:20px}.notice.warning{background:#fff8ec;border-color:#eee3c9;color:#9b8359}.permission{background:#f7f9fc;color:#8190a3;border-color:#e4e9f0}.footer-note{font-size:10px;color:#9ba7b5;line-height:1.7;margin:15px 0}.divider{height:1px;background:var(--line);margin:22px 0}.subtle,.muted{color:#92a0b2;font-size:11px;line-height:1.7}.record-title{display:block;font-weight:600;font-size:11px;line-height:1.6;color:#4c6079}.record-subtitle{display:block;font-size:9px;color:#a0aaba;margin-top:5px}.badge{display:inline-flex;align-items:center;gap:5px;font-size:9px;line-height:1.3;font-weight:600;white-space:nowrap;padding:5px 8px;border-radius:5px;background:#eef2f8;color:#8091a8}.badge:before{content:"";width:4px;height:4px;border-radius:50%;background:currentColor}.badge.success{color:#449685;background:#eaf6ef}.badge.warning{color:#bd9752;background:#fff7e8}.badge.danger{color:#be6c66;background:#fcefed}.badge.info{color:#658cb5;background:#edf4fb}.risk-score{font-weight:700;color:#b37d52;font-variant-numeric:tabular-nums}
/* Data tables */
.table-wrap{overflow-x:auto;scrollbar-width:thin;border-radius:8px}.table-wrap table{width:100%;border-collapse:collapse;min-width:520px;text-align:left;font-size:11px}.table-wrap thead{background:#f8fafc}.table-wrap th{padding:12px 13px;border-top:1px solid #eef2f6;border-bottom:1px solid #eef2f6;font-weight:500;font-size:9px;letter-spacing:.15px;color:#8c9aac;white-space:nowrap}.table-wrap td{border-bottom:1px solid #edf1f5;padding:16px 13px;vertical-align:middle;line-height:1.7;color:#697e96}.table-wrap td b{font-weight:600;font-size:11px;color:#4a5f78}.table-wrap td .muted{display:inline-block;font-size:9px;color:#a0adbd;max-width:430px;margin-top:4px}.table-wrap tbody tr:last-child td{border-bottom:0}.table-wrap tbody tr{transition:background .15s}.table-wrap tbody tr:hover{background:#f9fbfd}.table-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:16px}.table-search{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fff;border-radius:7px;padding:8px 10px;max-width:250px;flex:1}.table-search:focus-within{border-color:#92b7b4;box-shadow:0 0 0 3px #1b94850b}.table-search .icon{width:14px;height:14px;color:#a8b3c2}.table-search input{border:0;outline:0;background:transparent;width:100%;font-size:10px;min-width:0;color:#526a80}.table-search input::placeholder{color:#a2adbc}.table-tools{display:flex;align-items:center;gap:14px}.table-tools select{border:1px solid var(--line);border-radius:7px;font-size:10px;color:#8796aa;padding:8px;background:#fff;max-width:150px}.record-count{font-size:9px;color:#a3aebe;white-space:nowrap}.sort-button{display:flex;align-items:center;gap:7px;background:none;border:0;font:inherit;color:inherit;padding:0}.sort-button:after{content:"↕";color:#bac4cf;font-size:10px}th[aria-sort=ascending] .sort-button:after{content:"↑";color:var(--tenant-accent)}th[aria-sort=descending] .sort-button:after{content:"↓";color:var(--tenant-accent)}.table-pagination{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #edf1f6;padding-top:14px;margin-top:8px;font-size:10px;color:#98a6b7}.table-pagination>div{display:flex;gap:7px}.table-pagination button:disabled{cursor:default;opacity:.4}.empty{text-align:center!important;padding:30px 20px!important}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:170px;text-align:center;padding:20px 25px}.empty-state>.icon{width:28px;height:28px;color:#a2bfbe;margin-bottom:13px}.empty-state strong{font-size:12px;font-weight:600;color:#7e91a5}.empty-state p{font-size:10px;line-height:1.8;color:#a0adbb;max-width:330px;margin:8px auto 0}.no-results td{padding:0!important}.rule-head{display:none}
/* Forms */
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.field{display:flex;flex-direction:column;gap:8px;min-width:0}.field.full{grid-column:1/-1}.field>label{font-size:11px;font-weight:600;color:#697c94}.required{color:#a8b4c0;margin-left:3px}.field input,.field select,.field textarea,.inline-form input,.inline-form select{width:100%;min-width:0;border:1px solid #dfe6ed;border-radius:8px;padding:12px 13px;background:#fff;color:#4d627b;font-size:12px;outline:0;transition:border-color .18s,box-shadow .18s}.field input::placeholder,.field textarea::placeholder,.inline-form input::placeholder{color:#a8b4c2;font-size:11px}.field input:focus,.field select:focus,.field textarea:focus,.inline-form input:focus,.inline-form select:focus{border-color:#65a99f;box-shadow:0 0 0 3px #087f8c0c}.field textarea{min-height:110px;resize:vertical;line-height:1.7}.field input[type=color]{height:45px;padding:5px;cursor:pointer}.form-actions{grid-column:1/-1;display:flex;align-items:center;gap:10px;padding-top:7px}.inline-form{display:grid;grid-template-columns:repeat(2,minmax(100px,1fr));gap:10px;padding:16px 0 4px;min-width:260px;max-width:600px}.inline-form input,.inline-form select{font-size:11px;padding:9px 10px}.inline-form input[name=comment],.inline-form input[name=note],.inline-form input[name=mitigation]{grid-column:1/-1}.inline-form button{justify-self:start}.inline-form[data-kind=rule]{grid-template-columns:1.2fr 1.2fr .7fr auto auto;min-width:600px;max-width:none;align-items:center;padding:0}.rule-active{display:flex;align-items:center;gap:7px;font-size:10px;white-space:nowrap}.rule-active input{width:15px;height:15px}summary.btn{list-style:none;width:fit-content}summary.btn::-webkit-details-marker{display:none}details[open]>summary.btn{background:#edf6f3;color:#3d8b7c;border-color:#a4cdc3}.upload-field{padding:20px;border:1px dashed #b9d6d0;border-radius:11px;background:#f7fcfb;justify-content:center}.upload-field input{border:0;background:transparent;padding:0;font-size:10px}.upload-field input::file-selector-button{background:#fff;border:1px solid #d4e7e1;border-radius:6px;padding:8px 12px;color:#538e80;margin-right:10px;cursor:pointer}.file-selection{font-size:10px;color:#48887e;line-height:1.5}.form-error{grid-column:1/-1;border:1px solid #f0d1ca;border-radius:8px;background:#fff6f3;color:#b6685a;padding:12px 15px;font-size:11px;line-height:1.7}.branding-preview{display:flex;align-items:center;gap:14px;background:var(--preview-primary,#142b49);padding:24px;border-radius:12px;color:#fff;margin-bottom:25px;transition:background .25s}.branding-preview .brand-mark{background:var(--preview-accent,#087f8c)}.branding-preview strong{display:block;font-size:13px;line-height:1.5}.branding-preview small{display:block;font-size:9px;opacity:.6;margin-top:5px}.preview-chip{margin-left:auto;border:1px solid #ffffff30;border-radius:5px;padding:5px 7px;font-size:8px;white-space:nowrap;color:#ffffffb3}.button-spinner,.loader{width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;display:inline-block;animation:spin .7s linear infinite;flex-shrink:0}.loader{height:24px;width:24px;color:#78a9a2}
/* Reports, dialogs and feedback */
.report-sheet{background:#fff;border:1px solid var(--line);border-radius:16px;padding:34px;box-shadow:0 3px 14px #152b4610;margin-bottom:24px}.report-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:26px;border-bottom:1px solid var(--line);margin-bottom:25px}.report-top h2{font-size:21px;font-weight:600;letter-spacing:-.5px;color:#2b4963;margin:0 0 9px}.report-top .subtle{font-size:10px}.report-actions{flex-wrap:wrap}.report-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:24px 0 34px}.report-stat{border:1px solid #eaf0f2;background:#f8fbfb;padding:18px;border-radius:10px}.report-stat b{display:block;font-size:24px;letter-spacing:-.6px;color:#3b6370;font-weight:600}.report-stat span{display:block;font-size:10px;color:#9aa9b6;margin-top:7px}.report-sheet h3{font-size:13px;font-weight:600;color:#5d758c;margin:25px 0 18px}.error-card{border:1px solid var(--line);background:#fff;border-radius:16px;text-align:center;padding:60px 30px}.error-card>.icon{width:40px;height:40px;color:#c89c73}.error-card h2{font-size:19px;color:#45617a}.error-card p{font-size:12px;color:#8b9bac;margin:16px auto 25px;max-width:500px;line-height:1.8}.toast{display:flex;align-items:center;gap:11px;position:fixed;bottom:24px;left:50%;z-index:150;transform:translate(-50%,25px);opacity:0;background:#183b3c;border:1px solid #42746d;color:#fff;box-shadow:0 12px 45px #142b4925;padding:14px 20px;border-radius:12px;font-size:12px;line-height:1.5;pointer-events:none;max-width:min(560px,calc(100vw - 30px));transition:transform .25s var(--ease),opacity .25s}.toast.show{opacity:1;transform:translate(-50%,0)}.toast .icon{width:18px;height:18px;color:#9bddd0}.toast.error{background:#6b332e;border-color:#985950}.toast.error .icon{color:#f7c8bf}.command-dialog{padding:0;border:1px solid #dfe8ee;border-radius:17px;width:min(530px,calc(100vw - 30px));box-shadow:0 40px 120px #0d244149;margin:14vh auto auto;color:#4a627c}.command-dialog::backdrop{background:#0e254b55;backdrop-filter:blur(5px)}.command-dialog[open]{animation:rise-in .2s var(--ease)}.command-header{display:flex;align-items:center;gap:14px;padding:19px 22px;border-bottom:1px solid var(--line)}.command-header>.icon{color:#8eaaaa}.command-header input{flex:1;width:100%;border:0;outline:0;font-size:13px;color:#456376}.command-dialog h2{font-size:9px;letter-spacing:1px;text-transform:uppercase;color:#a2afba;margin:20px 24px 12px}.command-results{padding:0 12px 12px}.command-results button{display:flex;align-items:center;gap:14px;width:100%;border:0;background:#fff;padding:14px 12px;border-radius:8px;text-align:left;font-size:12px;color:#5d758d}.command-results button>span{flex:1}.command-results button>.icon{height:17px;width:17px;color:#82a0b0}.command-results button:hover,.command-results button:focus{background:#f0f7f5;color:#397f75}.command-hint{border-top:1px solid var(--line);padding:12px 24px;background:#fafcfd;color:#a7b2be;font-size:9px}.skeleton{background:linear-gradient(90deg,#eaf0f4 25%,#f3f6f8 45%,#eaf0f4 65%);background-size:300% 100%;animation:shimmer 1.6s ease-in-out infinite;border-radius:10px}.skeleton-title{width:250px;max-width:80%;height:30px;margin:7px 0 15px}.skeleton-subtitle{height:12px;width:420px;max-width:95%;margin-bottom:32px}.skeleton-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:25px}.skeleton-metric{height:125px}.skeleton-panel{height:280px;margin-bottom:25px}.skeleton-panel.short{height:180px}.boot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;min-height:100vh;color:#8da0b3;font-size:12px}
/* Sign in */
.login-wrap{display:grid;grid-template-columns:1.08fr 1fr;min-height:100vh}.login-aside{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:44px 8%;background:radial-gradient(ellipse at 20% 90%,#227c6b33,transparent 65%),linear-gradient(135deg,#102c3d,#133c48);color:#fff;overflow:hidden}.login-aside:after{content:"";position:absolute;width:450px;height:450px;border-radius:50%;border:1px solid #a1cfcf0f;box-shadow:0 0 0 75px #a1cfcf04,0 0 0 76px #a1cfcf09;bottom:-270px;right:-190px;pointer-events:none}.login-side-brand{display:flex;align-items:center;gap:12px;font-size:20px;letter-spacing:-.7px;font-weight:650}.ai-tag{font-size:9px;letter-spacing:.5px;border:1px solid #6eb6ac50;padding:4px 6px;border-radius:5px;color:#8ed0bd;font-weight:500}.login-story{padding:70px 0;z-index:1}.login-story h1{font-size:clamp(33px,3.5vw,52px);line-height:1.19;letter-spacing:-1.9px;font-weight:600;margin:22px 0}.login-story h1 em{font-style:normal;font-weight:400;color:#98d5c5}.login-story p{font-size:13px;line-height:1.9;color:#9cb9c4;max-width:385px}.login-journey{display:flex;align-items:center;max-width:335px;margin-top:45px}.login-journey>div{display:flex;flex-direction:column;align-items:center;gap:12px;color:#91beb9;font-size:10px}.login-journey>div .icon{width:42px;height:42px;padding:11px;box-sizing:content-box;border:1px solid #47776f;border-radius:15px;background:#ffffff06}.login-journey>i{flex:1;height:1px;background:linear-gradient(90deg,#47776f,#47776f44);margin:0 10px 24px}.login-bottom{display:flex;gap:9px;align-items:center;color:#6d9b9e;font-size:9px;white-space:nowrap}.login-bottom .icon{width:13px;height:13px}.login-bottom>span{color:#3c686b}.login-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:45px;background:#fff;position:relative}.login-card{width:100%;max-width:365px;margin:auto}.login-card h2{font-size:31px;letter-spacing:-1px;font-weight:650;color:#243e57;margin:16px 0 12px}.login-card .subtle{font-size:12px;color:#97a6b6;margin:0 0 34px}.login-card .form-grid{gap:22px}.login-card .field>label{font-size:11px;color:#6e8197}.login-card .field input{padding:13px 14px;background:#fcfdfe}.login-submit{width:100%;padding:13px 17px;justify-content:space-between}.login-error:empty{display:none}.login-error{grid-column:1/-1;font-size:11px;color:#b25b51;line-height:1.7}.password-wrap{position:relative}.password-wrap input{padding-right:45px!important}.password-wrap .icon-button{position:absolute;right:6px;top:5px}.demo-accounts{border:1px solid #e8eef2;border-radius:10px;margin-top:25px;background:#fafcfd;overflow:hidden}.demo-accounts summary{list-style:none;font-size:10px;font-weight:600;cursor:pointer;padding:15px;color:#8a9dac;display:flex;justify-content:space-between;gap:10px}.demo-accounts summary>span{font-size:8px;color:#6c9c8f;font-weight:500;background:#ecf5ef;border-radius:4px;padding:3px 5px}.demo-accounts p{font-size:10px;line-height:1.6;color:#9ba9b7;margin:0 15px 12px}.demo-role-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:0 12px 12px}.demo-role-grid button{display:flex;align-items:center;justify-content:space-between;border:1px solid #e4ebf0;border-radius:6px;background:#fff;color:#7a91a4;padding:10px 8px;font-size:9px;text-align:left}.demo-role-grid button:hover{border-color:#6eb4a3;color:#428876}.demo-role-grid .icon{width:11px;height:11px}.login-trust{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:25px;color:#a6b2bf;font-size:9px}.login-trust .icon{height:13px;width:13px}.login-copyright{color:#bbc4cd;font-size:9px;margin-top:40px}
/* Motion */
@keyframes rise-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{from{background-position:100% 0}to{background-position:0 0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes bar-in{from{transform:scaleX(0)}to{transform:scaleX(1)}}
/* Readable content and consistent contrast. */
.nav-item{font-size:13px}.page-head p{font-size:13px;color:#687c91}.card-note{font-size:12px;color:#72849a}.card h2{font-size:15px}.metric-top{font-size:12px;color:#64788e}.metric-note{font-size:11px;color:#75899e}.table-wrap table{font-size:12px}.table-wrap th{font-size:11px;color:#6b8097}.table-wrap td{color:#526b85}.table-wrap td b,.record-title{font-size:12px}.table-wrap td .muted,.record-subtitle{font-size:11px;color:#778ba1}.table-search input{font-size:12px}.table-tools select{font-size:11px;color:#61788e}.badge{font-size:10px}.btn{font-size:12px}.btn.small{font-size:11px}.field>label{font-size:12px;color:#536d86}.field input,.field select,.field textarea{font-size:13px}.field input::placeholder,.field textarea::placeholder{font-size:12px;color:#7c8fa4}.pipeline-row{font-size:12px;color:#6c8196}.chart-caption{font-size:10px;color:#7a8fa4}.empty-state strong{font-size:13px;color:#687f96}.empty-state p{font-size:12px;color:#758ca1}.deadline-item strong{font-size:12px}.deadline-item small:not(.deadline-date small){font-size:11px;color:#768ca0}.welcome-banner p{font-size:12px}.quick-link strong{font-size:12px}.quick-link small{font-size:11px;color:#758b9f}.login-card .subtle{font-size:13px;color:#71889f}.login-card .field>label{font-size:12px}.login-trust{font-size:11px;color:#778da2}.demo-accounts summary{font-size:12px;color:#6b8298}.demo-accounts p{font-size:11px;color:#708a9f}.demo-role-grid button{font-size:11px;color:#627d94}.login-story p{font-size:15px}.notice{color:#567e79}
/* Responsive */
@media(min-width:1600px){.content{padding-top:42px}.welcome-banner{padding:37px 45px}.hero-orbit{margin-right:60px}.welcome-banner h2{font-size:35px}}
@media(max-width:1200px){:root{--sidebar-width:225px}.content{padding:28px}.topbar{padding:0 26px}.metrics{gap:13px}.metric{padding:17px 15px}.metric-top{font-size:9px}.brand-name{font-size:16px}.hero-orbit{flex-basis:210px;margin-right:0}.welcome-banner{padding:27px}.dashboard-columns{grid-template-columns:1.1fr 1fr}.command-trigger span{display:none}.preview-chip{display:none}}
@media(max-width:1000px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.platform-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-columns,.columns{grid-template-columns:1fr}.welcome-banner h2{font-size:27px}.welcome-banner p{max-width:290px}.hero-orbit{flex-basis:175px;transform:scale(.8);margin-right:-15px}.topbar-start{gap:8px}.crumb{gap:8px}.command-trigger kbd{display:none}.report-top{flex-direction:column}.report-stats{grid-template-columns:repeat(3,1fr)}.login-aside{padding:35px 9%}.login-bottom{white-space:normal;line-height:1.7}.login-story h1{font-size:36px}.login-panel{padding:35px}.login-journey{max-width:280px}.login-journey>div .icon{width:28px;height:28px}}
@media(max-width:800px){.shell,.shell.compact{grid-template-columns:minmax(0,1fr)}.sidebar,.compact .sidebar{position:fixed;left:0;top:0;bottom:0;width:250px;transform:translateX(-100%);transition:transform .25s var(--ease);padding:29px 18px 18px}.menu-open .sidebar{transform:translateX(0)}.menu-open .sidebar-scrim{display:block;position:fixed;inset:0;background:#10243a66;backdrop-filter:blur(3px);z-index:35;border:0}.compact .brand-name,.compact .nav-label,.compact .nav-item>span,.compact .side-user>div{display:block}.compact .institution-card,.compact .workspace-status{display:flex}.compact .brand{padding:0 5px;margin-bottom:34px}.compact .nav-item{justify-content:flex-start;padding:12px 13px}.compact .side-user{justify-content:flex-start}.desktop-toggle{display:none}.mobile-menu{display:inline-grid}.topbar{height:65px;padding:0 20px}.content{padding:28px 22px 20px}.top-actions{gap:13px}.command-trigger{padding:7px}.crumb>span,.crumb>.icon{display:none}.hero-orbit{flex-basis:220px;transform:scale(.9)}.dashboard-columns{grid-template-columns:1.1fr 1fr;gap:16px}.card{padding:20px}.workspace-footer{padding:12px 22px 22px}.login-wrap{grid-template-columns:1fr}.login-aside{display:none}.login-panel{min-height:100dvh;padding:40px 28px}.login-card{max-width:390px}.login-card .overline:before{content:'PROCURESPHERE AI';display:block;font-size:12px;letter-spacing:.7px;color:#2c756d;margin-bottom:55px}.workflow-tabs button{padding:14px 12px;font-size:10px}.workflow-tabs button .icon{width:15px;height:15px}}
@media(max-width:600px){.content{padding:24px 16px}.topbar{padding:0 14px}.page-head h1{font-size:24px}.page-head p{font-size:11px;max-width:95%}.overline{font-size:8px}.welcome-banner{padding:25px;min-height:240px}.welcome-banner h2{font-size:28px}.welcome-banner p{max-width:300px}.hero-orbit{display:none}.hero-kicker{font-size:7px}.metrics{gap:10px;margin-bottom:17px}.platform-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.platform-metrics .metric:last-child{grid-column:1/-1}.metric{padding:15px;border-radius:12px}.metric-top{font-size:9px;gap:3px}.metric-icon{width:27px;height:27px}.metric-icon .icon{width:14px;height:14px}.metric-value{font-size:28px}.metric-note{font-size:8px}.dashboard-columns{grid-template-columns:1fr;gap:0}.card{padding:19px 16px;margin-bottom:17px;border-radius:12px}.card-head{gap:12px}.card h2{font-size:13px}.card-note{font-size:9px}.card-head .btn{font-size:9px;padding:8px 10px}.btn{font-size:10px}.form-grid{grid-template-columns:1fr;gap:17px}.field.full,.form-actions{grid-column:1}.field input,.field select,.field textarea{font-size:16px}.field input::placeholder,.field textarea::placeholder{font-size:12px}.table-toolbar{align-items:stretch;gap:8px;flex-wrap:wrap}.table-search{max-width:none;min-width:150px}.record-count{display:none}.table-tools select{max-width:115px;font-size:9px}.table-wrap th{padding:11px 10px}.table-wrap td{padding:13px 10px}.topbar-divider{display:none}.tenant-select{max-width:120px;font-size:9px}.crumb{font-size:10px}.top-actions{gap:9px}.quick-links{grid-template-columns:1fr;gap:10px}.quick-link{padding:16px}.report-sheet{padding:24px 16px;border-radius:12px}.report-stats{grid-template-columns:repeat(2,1fr);gap:8px}.report-stat{padding:14px}.report-top h2{font-size:19px}.workflow-tabs{margin-bottom:20px;gap:0}.workflow-tabs button{font-size:9px;padding:14px 10px;gap:6px}.workflow-tabs button b{font-size:8px}.workflow-tabs button .icon{display:none}.workspace-footer{font-size:8px;padding:12px 16px 22px}.workspace-footer .icon{width:10px;height:10px}.branding-preview{padding:18px;gap:10px}.branding-preview strong{font-size:11px}.notice,.permission{font-size:10px}.skeleton-grid{grid-template-columns:repeat(2,1fr);gap:12px}.skeleton-metric{height:100px}.toast{font-size:11px;padding:12px 15px;bottom:16px}.command-dialog{margin-top:10vh}.command-header{padding:15px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{body{background:white;min-width:0}.sidebar,.topbar,.toast,.page-head,.report-actions,.audit-sheet,.workspace-footer,.table-toolbar,.table-pagination,.workflow-tabs,.command-dialog,.skip-link,.sidebar-scrim{display:none!important}.shell,.shell.compact{display:block;min-height:0}.main,.content{padding:0!important;margin:0!important;max-width:none!important;min-height:0}.report-sheet{border:0;padding:0!important;box-shadow:none}.report-sheet .table-wrap{overflow:visible}.report-sheet table{min-width:0;font-size:9pt}.report-sheet th,.report-sheet td{padding:6px 5px}.report-sheet tr[hidden]{display:table-row!important}.report-sheet tr.no-results{display:none!important}.report-stats{grid-template-columns:repeat(4,1fr)}.report-stat,.badge{print-color-adjust:exact;-webkit-print-color-adjust:exact}.sort-button:after{display:none}.report-top{display:block}h2,h3{break-after:avoid}tr{break-inside:avoid}@page{size:auto;margin:16mm}}
