:root{--ink:#22343d;--muted:#64747c;--line:#e1e7ea;--bg:#f5f7f8;--accent:#224c58;--blue:#3265a2;--purple:#7954a2;--orange:#9c6318;--green:#287766;--red:#ad493f}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font:16px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer;border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:7px;padding:9px 14px}button:hover{background:#eef3f5}button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}button.small{padding:6px 10px;font-size:14px}button:disabled{opacity:.5;cursor:default}input,select,textarea{min-width:0;color:var(--ink);background:#fff;border:1px solid #cdd7dc;border-radius:6px;padding:9px 11px}textarea{resize:vertical;width:100%;min-height:90px}h1,h2,h3,p{margin:0}h1{letter-spacing:-1px;font-size:30px;font-weight:600}h2{font-size:19px;font-weight:600}h3{font-size:16px}small,.meta{color:var(--muted);font-size:13px}.muted{color:var(--muted)}.red{color:var(--red)}.flex{align-items:center;gap:12px;display:flex}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.brand{letter-spacing:-3px;border-bottom:2px solid var(--ink);width:56px;font-size:34px;font-weight:700;line-height:1.15}.sidebar{border-right:1px solid var(--line);z-index:3;background:#fff;flex-direction:column;width:238px;padding:28px 20px;transition:width .18s;display:flex;position:fixed;inset:0 auto 0 0}.brandname{letter-spacing:1.3px;margin-top:12px;font-size:13px;font-weight:600}.brandblock{justify-content:center;align-items:center;gap:13px;min-height:50px;display:flex}.brandblock .brand-logo{-o-object-fit:contain;object-fit:contain;max-width:160px;max-height:46px;display:block}.brandblock .brand-fallback{flex-direction:column;align-items:center;gap:4px;display:flex}.navlabel{letter-spacing:1.6px;color:var(--muted);margin:34px 12px 10px;font-size:12px}.navbtn{text-align:left;width:100%;color:var(--ink);background:0 0;border:0;border-radius:7px;align-items:center;gap:12px;margin:4px 0;padding:11px 13px;font-size:15px;text-decoration:none;display:flex}.navbtn:hover{background:#eef3f5}.navbtn.active{color:var(--accent);background:#eaf0f3;font-weight:600}.icon{stroke:currentColor;fill:none;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:19px;height:19px}.sidebottom{border-top:1px solid var(--line);margin-top:auto;padding-top:16px}.avatar{background:#e3ebed;border-radius:50%;flex-shrink:0;place-items:center;width:35px;height:35px;font-size:13px;font-weight:600;display:grid;overflow:hidden}.avatar img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block}.avatar-sm{width:32px;height:32px;font-size:12px}.profile-avatar-preview{-o-object-fit:cover;object-fit:cover;border:1px solid var(--line);background:#fff;border-radius:50%;width:96px;height:96px}.profile-avatar-placeholder{width:96px;height:96px;color:var(--accent);background:#e3ebed;border-radius:50%;place-items:center;font-size:32px;font-weight:700;display:grid}.main{margin-left:238px;transition:margin-left .18s}.main.sidebar-collapsed{margin-left:72px}.topbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:15px;padding:16px 32px;display:flex}.topbar select{max-width:220px;font-size:14px}.icon-btn{border:1px solid var(--line);width:36px;height:36px;color:var(--ink);background:#fff;border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-btn:hover{background:#eef3f5}.sidebar.collapsed{width:72px;padding-left:12px;padding-right:12px;overflow:hidden}.sidebar.collapsed .navbtn-label,.sidebar.collapsed .navlabel,.sidebar.collapsed .brandname,.sidebar.collapsed .sidebottom-user-text,.sidebar.collapsed .brand-fallback{display:none}.sidebar.collapsed .brandblock{min-height:46px}.sidebar.collapsed .brandblock .brand-logo{max-width:44px;max-height:36px}.sidebar.collapsed .navbtn{justify-content:center;padding:11px 0}.sidebar.collapsed .sidebottom-user{justify-content:center}.sidebar.collapsed:hover{width:238px;padding-left:20px;padding-right:20px;box-shadow:6px 0 24px #0d283822}.sidebar.collapsed:hover .navbtn-label,.sidebar.collapsed:hover .navlabel,.sidebar.collapsed:hover .brandname,.sidebar.collapsed:hover .sidebottom-user-text{display:block}.sidebar.collapsed:hover .brand-fallback{display:flex}.sidebar.collapsed:hover .brandblock .brand-logo{max-width:160px;max-height:46px}.sidebar.collapsed:hover .navbtn{justify-content:flex-start;padding:11px 13px}.sidebar.collapsed:hover .sidebottom-user{justify-content:flex-start}.user-menu{position:relative}.user-menu-trigger{border:1px solid var(--line);background:#fff;border-radius:999px;align-items:center;padding:2px;display:inline-flex}.user-menu-trigger:hover{background:#eef3f5}.user-menu-trigger-wide{border-radius:999px;gap:10px;padding:2px 10px 2px 2px}.user-menu-identity{flex-direction:column;align-items:flex-start;max-width:180px;line-height:1.15;display:flex}.user-menu-name{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;max-width:180px;font-size:13px;font-weight:600;overflow:hidden}.user-menu-role{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;letter-spacing:.2px;max-width:180px;font-size:11px;overflow:hidden}.user-menu-caret{color:var(--muted)}@media (width<=780px){.user-menu-identity,.user-menu-caret{display:none}.user-menu-trigger-wide{padding:2px}}.user-menu-panel{border:1px solid var(--line);z-index:32;background:#fff;border-radius:10px;width:260px;display:none;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 12px 32px #0d283822}.user-menu-panel.open{display:block}.user-menu-header{border-bottom:1px solid var(--line);background:#f9fafb;padding:14px 16px}.user-menu-header strong{font-size:14px;display:block}.user-menu-header .meta{font-size:12px}.user-menu-item{color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;width:100%;padding:10px 16px;font-size:14px;text-decoration:none;display:flex}.user-menu-item:hover{background:#eef3f5}.user-menu-form{border-top:1px solid var(--line);margin:0}.user-menu-signout{color:var(--red)}.demo{color:#516873;border-bottom:1px solid var(--line);background:#edf3f6;padding:8px 32px;font-size:13px}main{max-width:1650px;margin:auto;padding:30px 32px 50px}.heading{margin-bottom:25px}.heading p{color:var(--muted);margin-top:4px;font-size:14px}.stats{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;display:grid}.stat{border:1px solid var(--line);background:#fff;border-radius:9px;padding:18px 22px}.stat strong{font-size:33px;font-weight:550;line-height:1.4;display:block}.stat label{color:var(--muted);font-size:14px}.panel{border:1px solid var(--line);background:#fff;border-radius:9px;overflow:hidden}.panelhead{border-bottom:1px solid var(--line);padding:20px 22px}.projects{grid-template-columns:repeat(3,1fr);gap:17px;margin:17px 0 27px;display:grid}.project{border:1px solid var(--line);text-align:left;color:var(--ink);background:#fff;border-top:3px solid #507584;border-radius:9px;padding:22px;text-decoration:none;display:block;position:relative}.project h2{margin:8px 0 3px}.project p{color:var(--muted);font-size:14px}.projectfooter{justify-content:space-between;margin-top:20px;font-size:13px;display:flex}.progress{background:#edf0f2;border-radius:5px;height:5px;margin-top:17px;overflow:hidden}.progress i{background:#577b89;height:100%;display:block}.tag{white-space:nowrap;color:#536775;background:#edf1f4;border-radius:4px;padding:3px 8px;font-size:12px;font-weight:500;display:inline-flex}.tag.client,.client-tag{color:#3265a2;background:#eaf1fc}.tag.consultant,.consultant-tag{color:#76519d;background:#f1ebf8}.tag.contractor,.contractor-tag{color:#95601b;background:#fbf0dd}.tag.internal,.internal-tag{color:#267363;background:#e6f2ee}.status-open{color:#506984;background:#edf2f7}.status-in-progress{color:#566aaa;background:#eef0fd}.status-answered{color:#327657;background:#e8f4ee}.status-closed{color:#69777d;background:#eff1f2}.status-on-hold{color:#8c6325;background:#faf1e2}.tablewrap{overflow:auto}table{border-collapse:collapse;white-space:nowrap;width:100%}th{text-align:left;color:var(--muted);letter-spacing:.35px;background:#f9fafb;padding:12px 18px;font-size:12px;font-weight:600}td{border-top:1px solid #edf0f2;padding:16px 18px;font-size:14px}td.subject{white-space:normal;min-width:250px;max-width:360px}td.subject a,td.subject button{text-align:left;color:var(--ink);cursor:pointer;background:0 0;border:0;padding:0;font-weight:550;text-decoration:none}td.subject a:hover,td.subject button:hover{text-decoration:underline}.ref{color:var(--muted);margin-top:3px;font-size:12px;display:block}.priority{font-size:13px}.priority.High{color:#a94c3d}.priority.Urgent{color:#a33538;font-weight:600}.filters{flex-wrap:wrap;align-items:center;gap:10px;padding:16px 20px;display:flex}.filters input{flex:1;min-width:180px}.filters input,.filters select{font-size:14px}.legend{color:var(--muted);flex-wrap:wrap;gap:12px;font-size:13px;display:flex}.dot{border-radius:50%;width:8px;height:8px;margin-right:5px;display:inline-block}.two{grid-template-columns:minmax(0,1fr) 310px;gap:22px;display:grid}.listitem{border-bottom:1px solid var(--line);padding:15px 20px}.listitem:last-child{border:0}.listitem p{margin:4px 0;font-size:14px}.circledate{border:1px solid var(--line);text-align:center;color:var(--muted);border-radius:6px;padding:5px 12px;font-size:12px;line-height:1.25}.circledate strong{color:var(--ink);font-size:22px;display:block}.empty{text-align:center;color:var(--muted);padding:36px}.calendar{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calhead{color:var(--muted);text-align:center;background:#f9fafb;padding:12px;font-size:13px}.day{border-top:1px solid var(--line);border-right:1px solid var(--line);min-height:124px;padding:8px;font-size:13px}.day.today{background:#f0f6f8}.day.off{color:#a2acb0;background:#f9fafb}.day b{padding:1px 5px;display:inline-block}.day.today b{background:var(--accent);color:#fff;border-radius:4px}.calevent{text-align:left;cursor:pointer;background:0 0;border:0;border-left:3px solid;width:100%;margin-top:5px;padding:4px 6px;font-size:12px;line-height:1.35;display:block}.calevent.client{color:#3265a2}.calevent.consultant{color:#76519d}.calevent.contractor{color:#95601b}.calevent.internal{color:#267363}.calendarwrap{overflow:auto}.gantt{min-width:860px}.grow{border-bottom:1px solid var(--line);grid-template-columns:240px 1fr;min-height:63px;display:grid}.glabel{border-right:1px solid var(--line);padding:11px 18px;font-size:14px}.gtrack{background:repeating-linear-gradient(90deg,#0000 0 calc(14.285% - 1px),#edf0f2 calc(14.285% - 1px) 14.285%);min-height:63px;position:relative}.gdates{text-align:center;color:var(--muted);background:#f9fafb;grid-template-columns:repeat(7,1fr);padding:12px 0;font-size:12px;display:grid}.bar{background:#60818d;border-radius:3px;min-width:5px;height:19px;position:absolute;top:15px}.bar.issue{background:#b98251}.baseline{background:#cbd3d7;border-radius:3px;height:5px;position:absolute;top:39px}.todayline{z-index:1;pointer-events:none;border-left:1px dashed #9c6251;position:absolute;top:0;bottom:0}.notice{background:#fcf6e9;border:1px solid #e9d8b7;border-radius:8px;margin-bottom:20px;padding:16px 20px;font-size:14px}.history{padding:18px 22px;font-size:14px}.history p{margin-top:8px}.formgrid{grid-template-columns:1fr 1fr;gap:17px;display:grid}.field{flex-direction:column;gap:6px;font-size:14px;display:flex}.full{grid-column:1/-1}.checks{flex-wrap:wrap;gap:15px;font-size:14px;display:flex}.checks label{align-items:center;gap:6px;display:flex}.checks input{accent-color:var(--accent)}dialog{color:var(--ink);border:0;border-radius:12px;width:min(800px,100% - 28px);max-height:91vh;padding:0;box-shadow:0 20px 90px #0d283840}dialog::backdrop{background:#132c3b66}dialog .body{padding:24px}dialog .panelhead{z-index:2;background:#fff;position:sticky;top:0}.close{background:0 0;border:0;padding:0 8px;font-size:25px}.detailgrid{border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px;padding:20px 0;display:grid}.detailgrid small{margin-bottom:4px;display:block}.detailsection{margin:22px 0}.detailsection h3{margin-bottom:8px}.attachment{border:1px solid var(--line);background:#f8fafb;border-radius:6px;margin:7px 0;padding:10px 13px;font-size:14px}.reply{border-left:2px solid #b6c9cf;margin:18px 0;padding:0 0 0 15px;font-size:14px}.reply p{white-space:pre-wrap;margin-top:5px}.footeractions{border-top:1px solid var(--line);margin-top:20px;padding-top:18px}.toast{color:#fff;z-index:15;background:#223e49;border-radius:8px;max-width:90%;padding:12px 20px;font-size:14px;position:fixed;bottom:25px;left:50%;transform:translate(-50%);box-shadow:0 5px 20px #0002}.settings{max-width:950px}.settings .panel{margin-bottom:20px}.settingsbody{padding:22px}.pill{letter-spacing:.5px;color:#557682;background:#eaf1f4;border-radius:20px;padding:4px 10px;font-size:12px}.accessnote{background:#eef4f7;border-radius:7px;margin-bottom:20px;padding:12px 15px;font-size:13px}.hidden{display:none!important}.tray-wrap{position:relative}.tray-bell{justify-content:center;align-items:center;width:36px;height:36px;padding:0;display:inline-flex;position:relative}.tray-badge{background:var(--red);color:#fff;border-radius:10px;padding:1px 6px;font-size:10px;font-weight:700;line-height:1.3}.tray-badge-corner{text-align:center;min-width:18px;position:absolute;top:-4px;right:-4px;box-shadow:0 0 0 2px #fff}.tray-wrap.has-new .tray-bell{color:var(--red);animation:.4s ease-in-out 3 tray-shake}@keyframes tray-shake{0%,to{transform:rotate(0)}25%{transform:rotate(-10deg)}75%{transform:rotate(10deg)}}.tray-backdrop{z-index:30;background:0 0;position:fixed;inset:0}.tray-panel{border:1px solid var(--line);z-index:31;background:#fff;border-radius:10px;width:360px;max-height:480px;position:absolute;top:calc(100% + 8px);right:0;overflow:auto;box-shadow:0 12px 32px #0d283822}.tray-item{border-bottom:1px solid var(--line);padding:12px 18px!important}.tray-item:last-child{border-bottom:0}.tray-item.is-unread{background:#f0f6f8}.tray-item:hover{background:#eef3f5}.rfi-modal-backdrop{z-index:40;background:#132c3b66;position:fixed;inset:0}.rfi-modal{z-index:41;background:#fff;border-radius:12px;width:min(820px,100% - 28px);max-height:90vh;position:fixed;top:5vh;left:50%;overflow:auto;transform:translate(-50%);box-shadow:0 20px 90px #0d283840}.rfi-tabs{gap:6px;margin:8px 0 10px;display:flex}.rfi-tab{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:20px;padding:6px 12px;font-size:13px}.rfi-tab.active{background:var(--accent);color:#fff;border-color:var(--accent)}.rfi-tab-count{background:#ffffff40;border-radius:10px;margin-left:4px;padding:0 6px;font-size:11px}.rfi-tab:not(.active) .rfi-tab-count{color:var(--muted);background:#eaf0f3}.rfi-chips{border:1px dashed var(--line);border-radius:7px;flex-wrap:wrap;align-items:center;gap:6px;min-height:34px;padding:6px;display:flex}.rfi-chip{color:var(--accent);background:#eaf0f3;border-radius:16px;align-items:center;gap:6px;padding:4px 6px 4px 10px;font-size:13px;display:inline-flex}.rfi-chip.is-new{color:#95601b;background:#fbf0dd}.rfi-chip button{color:inherit;cursor:pointer;background:0 0;border:0;padding:0 6px;font-size:16px;line-height:1}.rfi-input-row{gap:8px;margin-top:8px;display:flex}.rfi-input-row input{flex:1}.rfi-suggest{border:1px solid var(--line);background:#fff;border-radius:7px;max-height:220px;margin-top:6px;overflow:auto;box-shadow:0 6px 18px #0d283815}.rfi-suggest.empty{padding:10px 12px}.rfi-suggest-item{border:0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;width:100%;padding:8px 12px;display:block}.rfi-suggest-item:last-child{border-bottom:0}.rfi-suggest-item:hover{background:#f5f7f8}.rfi-suggest-item strong{font-size:14px;display:block}.rfi-suggest-item.is-group{background:#f5f9fb}.rfi-suggest-item.is-group:hover{background:#eaf0f3}.rfi-suggest-item.is-group strong{color:var(--accent)}.rfi-recipient-row{border-top:1px solid var(--line);grid-template-columns:60px 1fr;align-items:start;gap:12px;padding:8px 0;display:grid}.rfi-recipient-row:first-of-type{border-top:0;padding-top:4px}.rfi-recipient-row-head{align-items:center;gap:6px;padding-top:8px;display:flex}.rfi-recipient-label{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;font-size:13px;font-weight:600}.rfi-recipient-count{color:var(--accent);background:#eaf0f3;border-radius:10px;padding:1px 6px;font-size:11px;font-weight:600}.rfi-recipient-body{min-width:0}table.delivery-tracker{border-collapse:collapse;width:100%;margin-top:8px}table.delivery-tracker th{text-align:left;color:var(--muted);letter-spacing:.4px;text-transform:uppercase;border-bottom:1px solid var(--line);background:#f9fafb;padding:8px 10px;font-size:11px;font-weight:600}table.delivery-tracker td{border-bottom:1px solid var(--line);vertical-align:top;padding:10px;font-size:13px}table.delivery-tracker td .ref{color:var(--muted);margin-top:2px;font-size:11px}table.delivery-tracker td .muted{color:var(--muted)}table.delivery-tracker tbody tr:last-child td{border-bottom:0}.auth-wrap{place-items:center;min-height:100vh;padding:40px 20px;display:grid}.auth-card{border:1px solid var(--line);background:#fff;border-radius:12px;width:100%;max-width:420px;padding:32px;box-shadow:0 10px 40px #0d283815}.auth-card .brand-row{align-items:center;gap:13px;margin-bottom:20px;display:flex}.auth-card h1{margin-bottom:6px;font-size:22px}.auth-card label{color:var(--muted);margin:14px 0 6px;font-size:14px;display:block}.auth-card input{width:100%}.auth-card .primary{width:100%;margin-top:20px;padding:11px 14px}.auth-error{color:var(--red);margin-top:4px;font-size:13px}@media (width>=1600px){main{padding:36px 45px}.topbar,.demo{padding-left:45px;padding-right:45px}}@media (width<=1150px){.sidebar{width:205px;padding:25px 14px}.main{margin-left:205px}.two{grid-template-columns:1fr}.projects{gap:10px}.project{padding:16px}.topbar,main{padding-left:22px;padding-right:22px}.stat{padding:15px}.demo{padding-left:22px}}@media (width<=760px){.sidebar{border-bottom:1px solid var(--line);width:100%;padding:12px 16px;display:block;position:static}.sidebar .brand{width:44px;font-size:25px}.brandname{margin:0;font-size:11px}.brandblock{align-items:center;gap:13px;display:flex}.sidebar nav{gap:4px;margin-top:12px;display:flex;overflow:auto}.navbtn{white-space:nowrap;width:auto;padding:8px 10px;font-size:14px}.navbtn .icon,.navlabel,.sidebottom{display:none}.main{margin-left:0}.topbar{flex-wrap:wrap;align-items:flex-start;padding:12px 16px}.demo{padding:8px 16px}main{padding:22px 16px}.stats{grid-template-columns:1fr 1fr;gap:10px}.stat strong{font-size:28px}.projects{grid-template-columns:1fr}.heading{align-items:flex-start}.heading h1{font-size:26px}.formgrid{grid-template-columns:1fr}.detailgrid{grid-template-columns:1fr 1fr}.calendar{min-width:770px}.topbar .meta{display:none}.legend{gap:8px}.panelhead{padding:16px}.filters{padding:12px}.detailsection p{overflow-wrap:anywhere}}
