:root{--blue:#086bb8;--navy:#09243d;--ink:#203b51;--muted:#64788b;--line:#d7e1ea}*{box-sizing:border-box}body{margin:0;background:#f3f7fa;color:var(--ink);font:15px/1.65 Arial,Helvetica,sans-serif}button,input,select{font:inherit}a{color:var(--blue)}button,a,input,select{touch-action:manipulation}[hidden]{display:none!important}.portal-header{background:white;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:22px max(calc((100vw - 1140px)/2),25px);gap:20px}.portal-header img{width:210px;height:70px;object-fit:contain;display:block}.portal-header>a:last-child{font-size:13px;text-decoration:none;color:var(--muted)}main{max-width:1200px;margin:auto;padding:55px 30px 65px}.auth-layout{display:grid;grid-template-columns:1.15fr 1fr;min-height:660px;box-shadow:0 18px 65px #102e4810}.welcome{background:radial-gradient(ellipse at 100% 100%,#125782 0%,transparent 70%),var(--navy);padding:55px;color:white;position:relative;overflow:hidden}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:700;color:var(--blue);display:block}.welcome .eyebrow{color:#a3d3f6}.welcome h1{font-size:clamp(38px,4vw,56px);line-height:1.1;letter-spacing:-1.5px;margin:30px 0 25px}.welcome h1 em{color:#95cfff;font-style:normal}.welcome>p{font-size:16px;color:#c8d9e7;max-width:380px}.welcome ul{padding:18px 0;list-style:none;color:#dce8f2;font-size:13px}.welcome li{margin:15px 0;display:flex;gap:13px}.welcome li:before{content:'✓';color:#8bd0ff}.welcome-note{margin:18px 0 30px;padding:18px 0;border-top:1px solid #ffffff25;color:#b7cfdf;font-size:12px}.welcome>a{color:#dceeff;font-size:12px;text-decoration:none}.auth-card{padding:50px 45px;background:white;align-self:stretch}.card-intro h2{font-family:Georgia,serif;font-weight:400;font-size:34px;line-height:1.2;margin:14px 0}.card-intro p{color:var(--muted);font-size:14px}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line);margin:25px 0}.auth-tabs button{border:0;border-bottom:3px solid transparent;background:white;padding:14px 5px;color:var(--muted);font-size:13px;cursor:pointer}.auth-tabs button[aria-selected=true]{color:var(--blue);font-weight:700;border-color:var(--blue)}label{display:block;font-size:13px;font-weight:600;margin:18px 0 7px}label>span{font-weight:400;color:var(--muted);font-size:12px}input,select{display:block;width:100%;border:1px solid #b9cbd9;border-radius:5px;padding:12px;color:var(--ink);background:white;min-height:48px}input:focus,select:focus{outline:2px solid #69ace0;outline-offset:1px}.password-wrap{display:flex;position:relative}.password-wrap input{padding-right:65px}.password-wrap button{position:absolute;right:7px;top:6px;height:36px;background:white;border:0;font-size:12px;color:var(--blue);padding:6px 10px;cursor:pointer}.primary,.secondary{border-radius:5px;padding:13px 20px;min-height:48px;font-size:13px;font-weight:600;cursor:pointer}.primary{background:var(--blue);color:white;border:1px solid var(--blue);width:100%;margin-top:25px}.primary:hover{background:#045594}.primary:disabled{opacity:.5;cursor:wait}.secondary{background:white;border:1px solid #c8d5df;color:var(--blue)}.text-button{padding:12px 2px;border:0;background:transparent;color:var(--blue);font-size:12px;cursor:pointer}.auth-card .text-button{display:block;margin:8px auto}.hint,.auth-help{font-size:11px;color:var(--muted);line-height:1.6}.auth-help{border-top:1px solid #e1e8ee;margin-top:22px;padding-top:20px}.message{font-size:13px;padding:13px 15px;border-radius:5px;background:#eef5fb;color:#164e7a;overflow-wrap:anywhere}.message:empty{display:none}.message.error{background:#fdf0ef;color:#a2342b}.notice{background:#fff7e6;border:1px solid #f0dfb7;color:#735a20;padding:13px 15px;border-radius:5px;font-size:12px}.dashboard-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:35px}.dashboard-heading h1{font-family:Georgia,serif;font-weight:400;font-size:42px;line-height:1.2;margin:10px 0}.dashboard-heading p{color:var(--muted);font-size:14px;margin:0;overflow-wrap:anywhere}.dashboard-grid{display:grid;grid-template-columns:.9fr 1.3fr;gap:26px;align-items:start}.upload-card,.files-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:30px}.upload-card h2,.files-card h2{font-family:Georgia,serif;font-size:29px;font-weight:400;line-height:1.2;margin:10px 0 20px}.upload-card>p{font-size:13px;color:var(--muted)}.dropzone{border:1.5px dashed #8bb4d3;border-radius:7px;background:#f6fafd;min-height:170px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative;gap:7px;padding:20px;cursor:pointer}.dropzone.dragging{background:#e2f1fd;border-color:#086bb8}.dropzone>span:last-of-type{font-size:11px;font-weight:400;color:var(--muted)}.upload-symbol{font-size:28px;color:var(--blue);line-height:1.2}.dropzone input{position:absolute;inset:0;opacity:0;cursor:pointer}.dropzone:focus-within{outline:2px solid #69ace0;outline-offset:2px}.field-row{display:grid;grid-template-columns:.7fr 1fr;gap:15px}.files-heading{display:flex;align-items:start;justify-content:space-between;gap:15px}.files-heading h2{margin-bottom:15px}.search-label{margin:0 0 7px;color:var(--muted);font-size:11px}#file-search{margin-bottom:20px}#files-list{min-height:150px}.empty{font-size:13px;color:var(--muted);text-align:center;padding:40px 15px;border:1px dashed #d5e1e9;border-radius:5px}.file-row{display:grid;grid-template-columns:36px 1fr auto;gap:12px;align-items:start;padding:17px 0;border-top:1px solid #e5ebf0}.file-icon{background:#eaf3fa;color:var(--blue);font-size:9px;font-weight:700;border-radius:4px;width:34px;height:40px;display:grid;place-items:center}.file-name{font-size:13px;font-weight:600;overflow-wrap:anywhere;line-height:1.6}.file-meta{font-size:11px;color:var(--muted);margin:4px 0}.file-client{font-size:11px;color:var(--blue);overflow-wrap:anywhere}.file-row button{font-size:11px;min-height:36px;padding:7px 10px}.upload-result{padding:10px 12px;background:#eef8f2;color:#276447;border-radius:4px;font-size:12px;margin-top:12px;overflow-wrap:anywhere}.upload-result.error{background:#fff0ef;color:#a2342b}.admin-note{margin-top:25px;background:#eaf2fa;padding:22px 28px;border-left:3px solid #1686d3;font-size:13px}.admin-note p{color:var(--muted);margin-bottom:0}.admin-mode .dashboard-grid{grid-template-columns:1fr}.admin-mode .files-card{padding:35px}.admin-mode #files-list{display:grid;grid-template-columns:1fr 1fr;gap:0 35px}footer{padding:25px 30px;border-top:1px solid var(--line);display:flex;justify-content:center;gap:25px;flex-wrap:wrap;color:var(--muted);font-size:11px;background:white}footer a{text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid #69ace0;outline-offset:3px}@media(max-width:800px){main{padding:30px 20px 40px}.auth-layout{grid-template-columns:1fr}.welcome{padding:35px}.welcome h1{font-size:39px;margin:18px 0}.welcome h1 br{display:none}.welcome p{max-width:none;font-size:14px}.welcome ul{display:none}.welcome-note{margin:18px 0;padding:15px 0 0}.auth-card{padding:35px}.dashboard-grid{grid-template-columns:1fr}.admin-mode #files-list{grid-template-columns:1fr}.portal-header{padding:15px 20px}.portal-header img{width:180px;height:60px}.portal-header>a:last-child{font-size:11px}.dashboard-heading h1{font-size:34px}}@media(max-width:450px){main{padding:20px 16px 35px}.welcome{padding:28px}.welcome h1{font-size:34px;letter-spacing:-1px}.welcome-note{font-size:11px}.auth-card{padding:28px 24px}.card-intro h2{font-size:31px}.upload-card,.files-card,.admin-mode .files-card{padding:23px}.dashboard-heading{align-items:start}.dashboard-heading h1{font-size:30px}.dashboard-heading .secondary{padding:9px 12px;min-height:40px;font-size:12px}.file-row{grid-template-columns:30px 1fr;gap:10px}.file-row>button{grid-column:2;justify-self:start}.portal-header img{width:160px;height:53px}.field-row{grid-template-columns:1fr}.field-row label{margin-top:14px}footer{gap:10px 20px}}

.dropzone .browse-files{border:1px solid var(--blue);cursor:pointer;min-height:48px;display:inline-flex;background:var(--blue);color:#fff;font-size:14px;font-weight:700;padding:11px 22px;border-radius:5px;margin-top:7px}.dropzone:has(button:disabled){opacity:.6;cursor:wait}.dropzone{min-height:220px}.dropzone.dragging{outline:3px solid #086bb8;outline-offset:3px}

.admin-overview{background:white;border:1px solid var(--line);border-radius:8px;padding:30px;margin-bottom:26px}.admin-overview h2{font-family:Georgia,serif;font-weight:400;font-size:29px;line-height:1.2;margin:10px 0 20px}.table-scroll{overflow:auto}.clients-table{width:100%;border-collapse:collapse;font-size:12px;text-align:left}.clients-table caption{text-align:left;color:var(--muted);padding:10px 0}.clients-table th{background:#f3f7fa;color:var(--navy);white-space:nowrap}.clients-table td,.clients-table th{padding:14px 12px;border-bottom:1px solid var(--line);vertical-align:top}.clients-table td div{overflow-wrap:anywhere}.clients-table small{display:block;color:var(--muted)}.clients-table button{font-size:12px;white-space:nowrap}.client-pagination{display:flex;gap:12px;margin-top:18px}.activity-details{margin-top:22px}.activity-details summary,#notification-setup summary{cursor:pointer;color:var(--blue);font-weight:600}.activity-row{padding:10px 0;border-bottom:1px solid var(--line);font-size:12px;overflow-wrap:anywhere}#notification-setup p{font-size:13px}.file-actions{display:flex;gap:7px;flex-wrap:wrap}.file-actions button{white-space:nowrap}@media(max-width:600px){.admin-overview{padding:22px}.admin-overview .files-heading{flex-wrap:wrap}.file-row>.file-actions{grid-column:2;justify-self:start}}

.admin-mode .dashboard-grid{grid-template-columns:minmax(280px,.85fr) minmax(0,1.3fr)}.admin-mode #files-list{grid-template-columns:1fr}.admin-overview{margin-top:26px}.browse-files:disabled{cursor:wait;opacity:.5}.dropzone{cursor:default}@media(max-width:800px){.admin-mode .dashboard-grid{grid-template-columns:1fr}}
