:root{--navy:#101c38;--navy-2:#182744;--blue:#2457d6;--blue-soft:#edf3ff;--ink:#172033;--muted:#667085;--line:#e4e8ef;--bg:#f5f7fa;--white:#fff;--green:#138a5b;--amber:#c67a0b;--red:#c53939;--violet:#7047b7;--shadow:0 8px 24px rgba(23,32,51,.06);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:var(--ink);font-size:15px;line-height:1.5}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg)}body{font-size:1rem}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1{font-size:1.5rem;line-height:1.2}h2{font-size:1.65rem;line-height:1.25}h3{font-size:1.08rem}.app-shell{min-height:100vh;display:grid;grid-template-columns:248px minmax(0,1fr)}.sidebar{background:var(--navy);color:#dbe4f4;padding:22px 16px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand,.auth-brand{display:flex;align-items:center;gap:12px}.brand{padding:0 10px 26px;color:#fff}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,#4f7df2,#2457d6);color:#fff;font-weight:800;font-size:1.18rem;box-shadow:0 6px 14px rgba(36,87,214,.35)}.brand b,.auth-brand b{display:block;font-size:1.05rem;letter-spacing:.01em}.brand small,.auth-brand small{display:block;color:#98a9c4;font-size:.73rem;letter-spacing:.1em;text-transform:uppercase}.sidebar nav{display:grid;gap:4px}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;color:#afbdd2;font-weight:600;font-size:.94rem}.nav-item span{width:20px;text-align:center;font-size:1.08rem}.nav-item:hover,.nav-item.active{background:var(--navy-2);color:#fff}.nav-item.active{box-shadow:inset 3px 0 #5d86ec}.sidebar-user{margin-top:auto;display:flex;align-items:center;gap:10px;padding:16px 10px 10px;border-top:1px solid rgba(255,255,255,.1)}.sidebar-user b,.sidebar-user small{display:block}.sidebar-user b{color:#fff;font-size:.9rem}.sidebar-user small{color:#98a9c4;font-size:.78rem}.logout-form{margin-top:2px}.button-link{width:100%;background:transparent;border:0}.avatar{width:36px;height:36px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;background:#dfe8fc;color:#244a9f;font-weight:750;font-size:.8rem}.avatar.small{width:30px;height:30px;font-size:.7rem}.main{min-width:0}.topbar{height:86px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px;position:sticky;top:0;z-index:20}.topbar small,.eyebrow{color:#7b8495;font-size:.7rem;font-weight:750;letter-spacing:.12em}.topbar h1{margin:3px 0 0}.notification-button{position:relative;width:40px;height:40px;border:1px solid var(--line);border-radius:10px;display:grid;place-items:center}.notification-button b{position:absolute;right:-5px;top:-6px;background:var(--red);color:#fff;border:2px solid #fff;border-radius:10px;font-size:.65rem;min-width:18px;height:18px;display:grid;place-items:center}.menu-button{display:none;background:none;border:0;font-size:1.3rem}.content{padding:30px 34px 50px;max-width:1600px;margin:auto}.welcome,.page-actions,.detail-head,.project-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:24px}.welcome p,.lead,.detail-head p,.project-hero p{color:var(--muted);max-width:720px}.quick-actions,.page-actions>div:last-child{white-space:nowrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 15px;border-radius:8px;border:1px solid transparent;font-weight:700;font-size:.9rem}.button.primary{background:var(--blue);color:#fff}.button.primary:hover{background:#1949bd}.button.secondary{background:#fff;border-color:#ccd3de;color:#27334a}.button.ghost{background:transparent;border-color:var(--line)}.button.full{width:100%}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.metrics article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;display:flex;gap:14px;align-items:center;box-shadow:var(--shadow)}.metrics small,.metrics strong{display:block}.metrics small{color:var(--muted);font-weight:600}.metrics strong{font-size:1.65rem;line-height:1.15;margin-top:3px}.metric-icon{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;font-weight:800}.metric-icon.blue{background:#e9f0ff;color:var(--blue)}.metric-icon.violet{background:#f2ecff;color:var(--violet)}.metric-icon.amber{background:#fff4df;color:var(--amber)}.metric-icon.green{background:#e5f7ef;color:var(--green)}.grid{display:grid;gap:20px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.detail-grid{grid-template-columns:minmax(0,1fr) 320px}.panel,.table-wrap,.project-card{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.panel{padding:20px}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding-bottom:14px;border-bottom:1px solid var(--line)}.panel-head h3{margin:3px 0}.panel-head>a{color:var(--blue);font-weight:700;font-size:.85rem}.item-list{display:grid}.item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 2px;border-bottom:1px solid #edf0f4}.item:last-child{border-bottom:0}.item>div:last-child{text-align:right}.item b,.item small{display:block}.item small{color:var(--muted);font-size:.8rem;margin-top:3px}.item.unread{padding-left:10px;border-left:3px solid var(--blue)}.badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:99px;background:#eef1f5;color:#536074;font-size:.7rem;font-weight:750;white-space:nowrap}.badge.active,.badge.done,.badge.resolved,.badge.lead{background:#e5f7ef;color:#08734a}.badge.open,.badge.in_progress,.badge.member,.badge.employee{background:#eaf1ff;color:#2457b9}.badge.waiting_customer,.badge.waiting_team,.badge.review,.badge.customer{background:#fff2d9;color:#9b6007}.badge.blocked,.badge.urgent,.badge.inactive{background:#fdeaea;color:#ad2d2d}.badge.admin,.badge.manager{background:#f0eaff;color:#6740a5}.badge.closed,.badge.archived{background:#edf0f3;color:#586273}.priority{font-size:.72rem;font-weight:750;text-transform:capitalize;display:inline-flex;align-items:center;gap:5px}.priority i{width:6px;height:6px;border-radius:50%;background:#8d98a9}.priority.high i{background:#e06b24}.priority.urgent i{background:var(--red)}.priority.low i{background:var(--green)}.form-panel{margin-bottom:22px;scroll-margin-top:110px}.form-panel summary{cursor:pointer;font-weight:750;font-size:1rem}.form-panel[open] summary{padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:18px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.span-2{grid-column:span 2}label{display:grid;gap:6px;color:#344054;font-size:.84rem;font-weight:700}label small{font-weight:500;color:var(--muted)}input,select,textarea{width:100%;border:1px solid #cbd2dd;border-radius:8px;background:#fff;color:var(--ink);padding:10px 11px;min-height:42px;outline:none}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:#5b7ee0;box-shadow:0 0 0 3px rgba(36,87,214,.12)}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.project-card{padding:20px;transition:.15s}.project-card:hover{transform:translateY(-2px);border-color:#b7c6e7}.project-top,.project-stats,.project-owner{display:flex;align-items:center;justify-content:space-between;gap:12px}.project-code,.ticket-no{color:#4e5e76;background:#eff2f6;border-radius:5px;padding:3px 7px;font-size:.7rem;font-weight:800;text-transform:uppercase}.project-card h3{margin:18px 0 4px;font-size:1.1rem}.project-card p{color:var(--muted);min-height:24px}.project-stats{padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);font-size:.8rem}.project-stats b{color:var(--ink)}.project-owner{justify-content:flex-start;margin-top:14px;font-size:.82rem;font-weight:650}.project-hero{background:linear-gradient(120deg,#fff,#f4f7ff);border:1px solid var(--line);border-radius:14px;padding:25px}.project-hero h2{margin:13px 0 7px}.detail-strip{display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:20px}.detail-strip div{padding:16px 20px;border-right:1px solid var(--line)}.detail-strip div:last-child{border:0}.detail-strip small,.detail-strip b{display:block}.detail-strip small{color:var(--muted);font-size:.75rem}.people-list{display:grid}.person{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--line)}.person>div{min-width:0;flex:1}.person b,.person small{display:block}.person small{color:var(--muted);font-size:.78rem}.person.compact{padding:0;border:0}.inline-form{display:flex;gap:8px;margin-top:16px}.inline-form select{min-width:0}.action-cards{display:grid;gap:10px}.action-cards a{display:flex;align-items:center;gap:14px;border:1px solid var(--line);padding:16px;border-radius:9px}.action-cards a:hover{border-color:#aebfe8;background:#f8faff}.action-cards span{font-size:1.25rem;color:var(--blue)}.action-cards b,.action-cards small{display:block}.action-cards small{color:var(--muted)}.kanban{display:grid;grid-template-columns:repeat(5,minmax(230px,1fr));gap:14px;overflow-x:auto;padding-bottom:12px}.kanban-column{background:#edf0f5;border-radius:11px;padding:12px;min-height:420px}.kanban-column>header{display:flex;justify-content:space-between;align-items:center;font-size:.78rem;font-weight:800;text-transform:uppercase;color:#586579;padding:2px 3px 12px}.kanban-column>header b{background:#fff;border-radius:99px;padding:2px 7px}.kanban-list{display:grid;gap:10px}.task-card{background:#fff;border:1px solid #dfe4eb;border-radius:9px;padding:14px;box-shadow:0 2px 6px rgba(20,30,50,.04)}.task-card:hover{border-color:#a9bce8}.task-card>div:first-child,.task-card footer{display:flex;justify-content:space-between;align-items:center;gap:8px}.task-card h3{margin:14px 0 6px;font-size:.95rem}.task-card p{color:var(--muted);font-size:.8rem}.task-card footer{padding-top:11px;border-top:1px solid var(--line);font-size:.72rem;color:var(--muted)}.column-empty{color:#8a94a5;text-align:center;border:1px dashed #ccd3df;border-radius:8px;padding:18px}.table-wrap{overflow:auto}.table-wrap table{width:100%;border-collapse:collapse;min-width:780px}th,td{text-align:left;padding:13px 15px;border-bottom:1px solid var(--line);vertical-align:middle}th{background:#f8f9fb;color:#5d687a;font-size:.73rem;text-transform:uppercase;letter-spacing:.05em}td{font-size:.86rem}td>a b,td>a small{display:block}td>a small{color:var(--muted);margin-top:3px}.table-wrap tr:last-child td{border-bottom:0}.text-button{border:0;background:transparent;color:var(--blue);font-weight:700;font-size:.8rem}.text-button:disabled{color:#aaa;cursor:not-allowed}.detail-head{background:#fff;border:1px solid var(--line);padding:24px;border-radius:12px}.detail-head>div{max-width:800px}.detail-head h2{margin:14px 0 8px}.detail-head>div>small{color:var(--muted)}.back{display:inline-block;color:var(--blue);font-weight:700;font-size:.83rem;margin-bottom:15px}.meta-row{display:flex;align-items:center;gap:8px}.status-form{width:220px;display:grid;gap:10px;flex:0 0 auto}.side-detail h3{margin-bottom:16px}.side-detail dl{margin:0}.side-detail dt{color:var(--muted);font-size:.72rem;font-weight:700;text-transform:uppercase;margin-top:13px}.side-detail dd{margin:3px 0;font-weight:650}.side-detail hr{border:0;border-top:1px solid var(--line);margin:22px 0}.progress{height:7px;background:#e9edf2;border-radius:10px;overflow:hidden;margin:17px 0}.progress i{height:100%;display:block;background:var(--green)}.checklist{display:grid}.checklist form{border-bottom:1px solid var(--line)}.checklist form:last-child{border-bottom:0}.check{display:flex;gap:11px;align-items:center;width:100%;padding:13px 0;background:none;border:0;text-align:left}.check span{width:23px;height:23px;border:1.5px solid #adb7c6;border-radius:6px;display:grid;place-items:center;color:#fff}.check.checked span{background:var(--green);border-color:var(--green)}.check.checked b{text-decoration:line-through;color:var(--muted)}.stack{display:grid;gap:15px}.stack.compact{gap:11px}.check-label{display:flex;grid-template-columns:none;align-items:center;gap:8px}.check-label input{width:auto;min-height:auto}.conversation{display:grid}.conversation article{display:flex;gap:12px;padding:17px 0;border-bottom:1px solid var(--line)}.conversation article>div{flex:1}.conversation header{display:flex;gap:8px;align-items:baseline}.conversation header span{font-size:.73rem;color:var(--muted)}.conversation p{margin:7px 0 0;white-space:normal}.reply-form{display:grid;gap:10px;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.reply-form .button{justify-self:start}.notification-list{padding:0}.notification-row{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:12px;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line)}.notification-row:last-child{border:0}.notification-row.unread{background:#f6f9ff}.notification-dot{width:7px;height:7px;border-radius:50%;background:#cad1db}.notification-row.unread .notification-dot{background:var(--blue)}.notification-row b{font-size:.9rem}.notification-row p{margin:3px 0;color:var(--muted);font-size:.82rem}.notification-row small{color:#8791a2}.empty{text-align:center;padding:38px 20px;color:var(--muted)}.empty b{color:var(--ink);font-size:1rem}.empty p{margin:5px 0}.flash{padding:12px 14px;border-radius:8px;margin-bottom:18px;border:1px solid}.flash.success{background:#eaf8f1;border-color:#b7e5cf;color:#116e4b}.flash.error{background:#fff0f0;border-color:#efc1c1;color:#a52d2d}.flash.fade{opacity:.4;transition:opacity .5s}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top right,#dfe9ff,transparent 40%),#f3f6fb}.auth-card{width:min(440px,100%);background:#fff;border:1px solid var(--line);border-radius:16px;padding:32px;box-shadow:0 22px 55px rgba(26,42,75,.12)}.auth-brand{margin-bottom:28px}.auth-card h1{font-size:1.7rem;margin:15px 0 7px}.auth-card>p{color:var(--muted);margin-bottom:22px}.setup-card{width:min(520px,100%)}
select.multi-select{min-height:100px}
.badge.queued,.badge.sending,.badge.scheduled{background:#fff2d9;color:#9b6007}.badge.failed,.badge.cancelled{background:#fdeaea;color:#ad2d2d}.badge.sent,.badge.processed{background:#e5f7ef;color:#08734a}
@media(max-width:1100px){.metrics{grid-template-columns:repeat(2,1fr)}.card-grid{grid-template-columns:repeat(2,1fr)}.grid.detail-grid{grid-template-columns:1fr}.side-detail{order:-1}.kanban{grid-template-columns:repeat(5,250px)}}
@media(max-width:780px){:root{font-size:16px}.app-shell{display:block}.sidebar{position:fixed;left:-270px;width:248px;z-index:100;transition:left .2s}.nav-open .sidebar{left:0}.nav-open:after{content:"";position:fixed;inset:0;background:rgba(10,18,35,.45);z-index:90}.topbar{height:76px;padding:0 18px}.menu-button{display:block}.topbar>div{margin-right:auto;margin-left:12px}.topbar small{display:none}.content{padding:22px 16px 40px}.welcome,.page-actions,.detail-head,.project-hero{display:grid}.quick-actions,.page-actions>div:last-child{white-space:normal}.grid.two,.metrics,.card-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.detail-strip{grid-template-columns:1fr}.detail-strip div{border-right:0;border-bottom:1px solid var(--line)}.inline-form{display:grid}.status-form{width:100%}.notification-row{grid-template-columns:10px 1fr}.notification-row form{grid-column:2}.conversation header{display:grid;gap:0}}

/* Corporate portal refinement and dedicated client-service surfaces. */
:root{--corporate-navy:#0b1734;--corporate-navy-2:#132757;--corporate-blue:#2c60dc;--corporate-sky:#eaf0ff;--corporate-surface:#f5f7fb}
body{background:var(--corporate-surface);letter-spacing:.002em}
.sidebar{background:linear-gradient(180deg,var(--corporate-navy) 0%,#101f45 58%,#0c1732 100%);box-shadow:8px 0 24px rgba(10,23,52,.08)}
.sidebar:before{content:"";display:block;height:3px;margin:-1px 20px 22px;background:linear-gradient(90deg,#60a5fa,#dbeafe,transparent);border-radius:999px;opacity:.9}
.brand{padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.11)}
.brand-mark{background:linear-gradient(145deg,#5280ff,#274ad1);box-shadow:0 8px 18px rgba(47,91,219,.33)}
.sidebar nav{padding-top:12px}.nav-item{border-radius:8px;margin:3px 8px;padding:11px 12px}.nav-item.active{background:rgba(111,148,255,.21);box-shadow:inset 3px 0 0 #9bb7ff}.nav-item:hover{background:rgba(255,255,255,.09)}
.sidebar-user{margin:14px 8px 8px;padding:13px 12px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08);border-radius:10px}.logout-form .nav-item{color:#cbd7f6}
.topbar{background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid #e1e6ef}.topbar small{color:#5c77b9;font-weight:800;letter-spacing:.13em}.topbar h1{letter-spacing:-.025em}.content{max-width:1480px}
.panel,.detail-head,.project-hero{border-color:#dfe5ee;box-shadow:0 8px 26px rgba(16,31,69,.035)}.panel-head h3{letter-spacing:-.015em}.panel-copy{margin:5px 0 0;color:var(--muted);font-size:.87rem}.button.primary{background:linear-gradient(135deg,#2c60dc,#254fc1);box-shadow:0 7px 15px rgba(44,96,220,.18)}.button.primary:hover{background:linear-gradient(135deg,#244fbe,#1c3f9b)}
.welcome{border:1px solid #dfe6f3;border-radius:14px;padding:26px 28px;background:linear-gradient(100deg,#fff,#f4f7ff)}.welcome h2{letter-spacing:-.035em}.metrics article{border-color:#e0e6ef;box-shadow:0 4px 16px rgba(18,35,77,.035)}
.auth-shell{background:radial-gradient(circle at 82% 10%,#dce8ff 0,transparent 33%),linear-gradient(135deg,#eef3fb,#f8fafc)}.auth-card{border-radius:18px;box-shadow:0 26px 65px rgba(20,39,83,.14)}.auth-note{margin:17px 0 0!important;padding-top:15px;border-top:1px solid var(--line);font-size:.79rem;color:var(--muted)}
.client-mode .sidebar{background:linear-gradient(180deg,#0d214c,#133571 60%,#10274f)}.client-mode .sidebar:before{background:linear-gradient(90deg,#7dd3fc,#dbeafe,transparent)}.client-mode .nav-item.active{background:rgba(103,180,255,.22);box-shadow:inset 3px 0 0 #9ed9ff}.client-mode .topbar small{color:#3271a6}
.client-hero{position:relative;overflow:hidden;display:flex;justify-content:space-between;gap:30px;align-items:center;padding:42px 46px;border-radius:16px;background:linear-gradient(118deg,#102d68 0%,#1d56b6 55%,#2974d5 100%);color:#fff;box-shadow:0 18px 42px rgba(29,78,171,.23)}
.client-hero:before{content:"";position:absolute;width:440px;height:440px;right:-190px;top:-250px;border:1px solid rgba(255,255,255,.22);border-radius:50%;box-shadow:0 0 0 55px rgba(255,255,255,.045),0 0 0 125px rgba(255,255,255,.035)}.client-hero>div{position:relative;z-index:1}.client-hero .eyebrow{color:#bed7ff}.client-hero h2{max-width:650px;margin:9px 0;font-size:clamp(1.75rem,3vw,2.6rem);line-height:1.1;letter-spacing:-.045em}.client-hero p{max-width:590px;margin:0;color:#e3ecff;font-size:1rem;line-height:1.65}.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.button.light{background:#fff;color:#17499e;border-color:#fff}.button.light:hover{background:#edf4ff}.button.ghost-light{background:transparent;border-color:rgba(255,255,255,.48);color:#fff}.button.ghost-light:hover{background:rgba(255,255,255,.12)}
.client-hero-mark{display:flex;align-items:center;gap:12px;min-width:150px}.client-hero-mark span{display:grid;place-items:center;width:74px;height:74px;border-radius:19px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.35);font-weight:850;font-size:2rem;box-shadow:0 15px 28px rgba(0,0,0,.16)}.client-hero-mark small{font-weight:800;line-height:1.25;letter-spacing:.16em;color:#dbeafe}
.client-metrics{margin-top:20px}.client-grid{grid-template-columns:minmax(0,1.7fr) minmax(270px,.8fr);align-items:stretch;margin-top:20px}.client-ticket-form{border-top:3px solid #3167dc}.client-ticket-form .panel-head{align-items:start}.client-ticket-form textarea{resize:vertical}.form-submit-row{display:flex;align-items:center;justify-content:space-between;gap:14px}.form-submit-row small{color:var(--muted);max-width:500px;font-size:.76rem;line-height:1.45}.client-how{background:linear-gradient(155deg,#f6f9ff,#fff);border-top:3px solid #92b5ff}.client-how h3{margin:7px 0 19px;letter-spacing:-.025em}.client-how ol{list-style:none;counter-reset:client-steps;padding:0;margin:0 0 22px;display:grid;gap:17px}.client-how li{counter-increment:client-steps;display:grid;grid-template-columns:34px 1fr;column-gap:10px}.client-how li:before{content:counter(client-steps);grid-row:span 2;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#dbe8ff;color:#1f56bb;font-weight:800;font-size:.78rem}.client-how li b{font-size:.87rem}.client-how li span{grid-column:2;color:var(--muted);font-size:.78rem;line-height:1.42}.portal-latest{margin-top:20px}.portal-latest .item{padding:15px 0}.portal-latest .item:first-child{padding-top:2px}
@media(max-width:900px){.client-grid{grid-template-columns:1fr}.client-hero{padding:32px}.client-hero-mark{display:none}}
@media(max-width:780px){.client-hero{padding:28px 23px;border-radius:12px}.client-hero h2{font-size:1.85rem}.hero-actions,.form-submit-row{display:grid}.hero-actions .button,.form-submit-row .button{width:100%;justify-content:center}.client-grid{margin-top:16px}.client-metrics{margin-top:16px}.client-ticket-form,.client-how{padding:20px}.portal-latest{margin-top:16px}}

/* Version 1.2.1: information-dense corporate typography and form system. */
:root{font-family:"Segoe UI Variable","Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.55;--form-border:#c9d3e2;--form-surface:#fbfcfe;--form-focus:#2d61d7}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.content{padding-top:34px}.topbar h1{font-size:1.62rem;font-weight:720}.topbar small,.eyebrow{font-size:.71rem;letter-spacing:.14em}.sidebar .brand b{font-size:1.13rem;font-weight:750}.sidebar .brand small{font-size:.68rem;letter-spacing:.14em}.nav-item{font-size:.91rem;font-weight:650}.panel-head h3,.side-detail h3{font-size:1.08rem;font-weight:730}.page-actions .lead,.welcome p{font-size:.94rem;line-height:1.65}
.form-panel{background:linear-gradient(180deg,#fff,#fcfdff);border:1px solid #d6deea;border-radius:14px;box-shadow:0 10px 30px rgba(20,42,87,.055)}.form-panel summary{position:relative;display:flex;align-items:center;min-height:46px;color:#14294f;font-size:1.03rem}.form-panel summary:before{content:"+";display:grid;place-items:center;width:26px;height:26px;margin-right:10px;border-radius:8px;background:#eaf0ff;color:#2858bd;font-size:1.2rem;font-weight:600}.form-panel[open] summary:before{content:"−"}.form-panel[open] summary{color:#11295a}
label{gap:7px;color:#263754;font-size:.81rem;letter-spacing:.01em;font-weight:700}label small{font-size:.74rem;line-height:1.35}.form-grid{gap:19px 18px}.stack{gap:17px}.stack.compact{gap:14px}input,select,textarea{border:1px solid var(--form-border);border-radius:9px;background:var(--form-surface);padding:11px 13px;min-height:45px;color:#172640;font-size:.92rem;font-weight:500;transition:border-color .15s,box-shadow .15s,background .15s}input::placeholder,textarea::placeholder{color:#8794a9;font-weight:400}select{appearance:none;padding-right:38px;background-color:var(--form-surface);background-image:linear-gradient(45deg,transparent 50%,#587096 50%),linear-gradient(135deg,#587096 50%,transparent 50%);background-position:calc(100% - 18px) 19px,calc(100% - 13px) 19px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}select[multiple]{background-image:none;padding-right:13px}textarea{min-height:100px;line-height:1.55}input:hover,select:hover,textarea:hover{border-color:#aab9cd;background:#fff}input:focus,select:focus,textarea:focus{border-color:var(--form-focus);background:#fff;box-shadow:0 0 0 4px rgba(45,97,215,.13)}input[type="date"],input[type="datetime-local"]{color:#324563;font-variant-numeric:tabular-nums}.multi-select{padding:7px;min-height:112px;background:#fff}.multi-select option{padding:8px 9px;border-radius:5px}.multi-select option:checked{background:linear-gradient(#dce8ff,#dce8ff);color:#183d93}
.check-label{padding:10px 12px;border:1px solid #d8e0ec;border-radius:9px;background:#f8faff;color:#334866;font-weight:650}.check-label:has(input:checked){border-color:#aac0f4;background:#f1f5ff}.check-label input{accent-color:#2c60dc}.inline-form{align-items:end;gap:10px;padding:13px;margin-top:18px;border:1px solid #e0e6ef;border-radius:10px;background:#f8faff}.inline-form select{min-height:42px}.status-form{padding:15px;border:1px solid #dce4f0;border-radius:11px;background:#f8faff}.status-form .button{width:100%}.reply-form{padding:20px;margin-top:20px;border:1px solid #dfe6ef;border-radius:12px;background:#fbfcff}.reply-form textarea{background:#fff}.reply-form .button{min-width:138px}
.button{min-height:43px;padding:10px 17px;border-radius:9px;font-size:.86rem;letter-spacing:.005em;transition:transform .15s,box-shadow .15s,background .15s,border-color .15s}.button:hover{transform:translateY(-1px)}.button:active{transform:translateY(0)}.button.secondary{border-color:#c9d5e7;background:#fff;color:#25436e;box-shadow:0 2px 6px rgba(25,46,86,.03)}.button.ghost{color:#2b4c7d;background:#fff}.text-button{padding:5px 0;font-size:.82rem}.text-button:hover{text-decoration:underline}.form-submit-row{padding-top:3px}
.detail-head{padding:28px;border-radius:14px;background:linear-gradient(135deg,#fff,#fafcff)}.detail-head h2{font-size:1.65rem;letter-spacing:-.03em}.detail-head p{font-size:.95rem;line-height:1.65}.side-detail{border-top:3px solid #89aaf1}.side-detail dl{display:grid;gap:2px}.side-detail dt{margin-top:15px}.side-detail dd{padding-bottom:11px;border-bottom:1px solid #edf0f5}.side-detail dd:last-child{border-bottom:0}.conversation article{padding:20px 0}.conversation article:first-child{padding-top:3px}.conversation p{color:#35445c;line-height:1.65}.ticket-no,.project-code{font-size:.68rem;letter-spacing:.06em}.kanban-column{background:linear-gradient(180deg,#eff3f8,#eaf0f6);border:1px solid #dce4ee;border-radius:12px}.task-card{border-radius:10px;box-shadow:0 4px 12px rgba(23,42,79,.055)}.task-card h3{font-size:.97rem}.table-wrap{border-color:#dce4ee;box-shadow:0 8px 24px rgba(20,43,88,.04)}th{background:#f4f7fb;color:#50617d;font-size:.7rem;letter-spacing:.09em}td{font-size:.87rem}.table-wrap tbody tr{transition:background .12s}.table-wrap tbody tr:hover{background:#f7faff}
@media(max-width:780px){:root{font-size:16px}.content{padding-top:24px}.form-panel{padding:18px}.form-grid{gap:15px}.inline-form{display:grid;align-items:stretch}.status-form{padding:13px}.detail-head{padding:21px}.reply-form{padding:15px}.topbar h1{font-size:1.28rem}}

/* Operational activity feed used in task and ticket detail panels. */
.mini-activity{display:grid;gap:12px;margin-top:14px}.mini-activity>div{display:grid;grid-template-columns:12px minmax(0,1fr);gap:9px}.mini-activity p{margin:0}.mini-activity b,.mini-activity small{display:block}.mini-activity b{font-size:.8rem;color:#304461}.mini-activity small{margin-top:2px;color:var(--muted);font-size:.72rem;line-height:1.4}.activity-dot{width:8px;height:8px;margin-top:6px;border-radius:50%;background:#5e86e7;box-shadow:0 0 0 4px #eaf0ff}.mini-activity>small{color:var(--muted);font-size:.78rem}

/* Company projects, workstreams, and public support intake. */
.project-hierarchy .subproject-card{position:relative;margin-left:18px;background:#fbfcff;border-left:3px solid #7aa1f2}.project-hierarchy .subproject-card:before{content:"";position:absolute;left:-20px;top:29px;width:17px;border-top:1px solid #aebfe0}.workstream-panel{margin-top:20px}.workstream-list{display:grid;gap:8px;margin-top:16px}.workstream-list>a{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:13px 14px;border:1px solid #dce4f0;border-radius:10px;background:#fbfcff;color:#304666}.workstream-list>a:hover{border-color:#91afea;background:#f5f8ff}.workstream-list>a>b{font-size:.88rem}.workstream-list>a>span:last-child{font-size:.75rem;font-weight:700;color:#2c60dc}.public-support .auth-note a{color:#2858bd;font-weight:700}.support-success{padding:18px;border:1px solid #bdd7ca;border-radius:11px;background:#effaf4;color:#155e40}.support-success p{margin:6px 0 16px;color:#2d6c50;font-size:.88rem}.support-success .button{background:#1a7f53;border-color:#1a7f53}
@media(max-width:780px){.project-hierarchy .subproject-card{margin-left:10px}.workstream-list>a{grid-template-columns:auto 1fr;gap:7px 10px}.workstream-list>a .badge{justify-self:start}.workstream-list>a>span:last-child{grid-column:2}.support-success{padding:15px}}

/* Finance module: controlled ledger and account-balance workspace. */
.finance-metrics{margin-bottom:20px}.finance-accounts{border-top:3px solid #4f7fe0}.finance-accounts .panel-head{margin-bottom:5px}.account-list{display:grid}.account-list>div{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.account-list>div:last-child{border-bottom:0}.account-list p{margin:0}.account-list p b,.account-list p small{display:block}.account-list p b{font-size:.86rem}.account-list p small{color:var(--muted);font-size:.72rem;margin-top:2px}.account-list strong{font-variant-numeric:tabular-nums;font-size:.9rem;color:#173b77}.account-type{font-size:.67rem;font-weight:800;letter-spacing:.05em;color:#42638e;background:#edf3ff;padding:4px 6px;border-radius:5px;text-transform:uppercase}.finance-account-create{margin-top:17px;padding-top:15px;border-top:1px solid var(--line)}.finance-account-create summary{color:var(--blue);font-size:.83rem;font-weight:750;cursor:pointer;margin-bottom:13px}.finance-ledger{margin-top:20px}.money{font-variant-numeric:tabular-nums;font-weight:750}.money.income{color:#08734a}.money.expense{color:#b33c2d}.finance-form select{max-width:100%}
.receivables-panel{margin-top:20px;border-top:3px solid #e49a35}.finance-invoice-create{margin:17px 0;background:#fbfcff}.collection-details{min-width:180px}.collection-details summary{cursor:pointer;color:#2858bd;font-size:.8rem;font-weight:750;white-space:nowrap}.collection-form{display:grid;gap:9px;width:260px;margin-top:10px;padding:12px;border:1px solid #dbe3ef;border-radius:10px;background:#f8faff;box-shadow:0 10px 24px rgba(20,43,88,.08)}.collection-form label{font-size:.72rem}.collection-form input,.collection-form select{min-height:38px;padding:8px 10px;font-size:.82rem}.collection-form .button{min-height:38px;justify-content:center}.receivables-table td{vertical-align:top}.metric-icon.orange{background:#fff0d7;color:#a55900}.metric-icon.red{background:#fee8e8;color:#b22e2e}
.finance-contacts{margin-top:20px;border-top:3px solid #5f87dd}.finance-contact-grid{align-items:start;margin-top:16px}.finance-contacts .form-panel{margin:0;padding:0 18px}.finance-contacts .form-panel summary{min-height:50px}.finance-contacts .form-panel[open]{padding:18px}.finance-contacts .form-panel[open] summary{margin:-18px -18px 18px;padding:0 18px}.contact-directory{padding:14px 16px;border:1px solid #dce4f0;border-radius:12px;background:#fbfcff;max-height:260px;overflow:auto}.contact-directory-head{display:flex!important;grid-template-columns:none!important;justify-content:space-between;gap:12px;padding:0 0 11px!important}.contact-directory h4{margin:0;color:#243958;font-size:.92rem}.contact-directory-head span{font-size:.72rem;font-weight:750;color:#4d6da8;background:#edf3ff;border-radius:999px;padding:3px 8px}.contact-directory>div{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.contact-directory>div:last-child{border-bottom:0}.contact-directory p{margin:0}.contact-directory p b,.contact-directory p small{display:block}.contact-directory p small{margin-top:2px;color:var(--muted);font-size:.74rem}.contact-empty{margin:5px 0 0!important;padding:12px;border:1px dashed #c7d4e7;border-radius:9px;background:#fff;color:#66758b;font-size:.8rem}
.currency-usd,.currency-aed{display:block;font-variant-numeric:tabular-nums}.currency-usd{white-space:nowrap}.currency-aed{margin-top:2px;color:#667793;font-size:.7rem;font-weight:650;white-space:nowrap}.metrics .currency-usd{font-size:1.08rem}.metrics .currency-aed{font-size:.68rem}.account-list .currency-usd{font-size:.88rem}.account-list .currency-aed{font-size:.68rem}.account-list small .currency-usd,.account-list small .currency-aed{display:inline;font-size:inherit;font-weight:inherit}.account-list small .currency-aed:before{content:" · "}
@media(max-width:780px){.account-list>div{grid-template-columns:auto 1fr}.account-list strong{grid-column:2}.finance-ledger{margin-top:16px}}

/* Final Finance workspace polish: dual currency stays compact and readable. */
@media(min-width:1101px){.finance-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.finance-metrics article{min-height:94px}.finance-metrics .metric-icon{flex:0 0 auto}.finance-metrics strong{min-width:0}.finance-metrics .currency-usd{font-size:1.12rem;overflow:hidden;text-overflow:ellipsis}.finance-metrics .currency-aed{font-size:.72rem}.receivables-panel{padding:24px}.finance-ledger{padding:24px}}
@media(max-width:1100px) and (min-width:781px){.finance-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.finance-metrics article{align-items:flex-start}.finance-metrics .metric-icon{flex:0 0 auto}.currency-usd{font-size:.94rem}.currency-aed{font-size:.69rem}.collection-form{width:min(260px,calc(100vw - 88px))}.receivables-table table{min-width:920px}}
