/* Shared application theme. Invoice paper keeps its own print design. */
@media screen {
:root{--ink:#202b45;--paper:#f3f5fa;--panel:#fff;--teal:#505dc2;--teal-deep:#172039;--steel:#66738b;--steel-soft:#edf0fc;--line:#e2e7f0;--line-strong:#c7d0e2;--radius:12px;--primary-hover:#414da8;--primary-pressed:#35408e;--info:#42609c;--info-soft:#edf2fc;--green:#247466;--green-bg:#e7f5ef;--red:#b34559;--red-bg:#fceef0;--amber:#95652c;--amber-bg:#fff4e4;--sidebar-text:#d0d8eb;--sidebar-muted:#9caac8;--sidebar-active:#343f6e;--shadow-floating:0 24px 70px #17203929;--shadow-card:0 3px 15px #26335206;--sidebar-w:248px}
body{background:var(--paper);font-size:14px;line-height:1.55}h2,.module-head h2{font-size:25px;letter-spacing:-.035em}h3{letter-spacing:-.02em}.content{padding:28px 30px 64px}.sidebar{background:linear-gradient(165deg,#202c4c 0%,#141d32 85%);transition:transform 220ms ease,width 220ms ease}.sidebar-brand{padding:26px 22px}.sidebar-brand .name{font-size:17px}.sidebar-brand .sub{margin-top:8px}.nav-group{padding:6px 12px}.nav-category{border:0}.nav-category>.nav-group-label{padding:12px 10px;font-size:11px;letter-spacing:.075em;border-radius:9px;display:flex;align-items:center;gap:10px;width:100%}.nav-chevron{margin-left:auto}.sidebar .nav-item{min-height:40px;border-left:0;padding:10px 13px;margin:3px 0;border-radius:9px}.sidebar .nav-item.active{background:linear-gradient(110deg,#515fbb,#3b497d);box-shadow:0 4px 14px #080f2529;color:#fff}.sidebar .nav-item:hover{background-color:#ffffff10}.nav-group-items{border-left:1px solid #ffffff18;margin-left:18px;padding-left:9px}.nav-group-items .nav-item{padding-left:13px}.nav-group-items:not([hidden]){animation:premium-enter 180ms ease}.nav-icon{width:18px;height:18px;flex-shrink:0;display:inline-flex;align-items:center}.nav-icon svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.topbar{min-height:72px;padding:13px 28px;background:#ffffffed;backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.topbar-title{font-size:16px}.user-chip{max-width:310px;overflow-wrap:anywhere;font-size:12px}.status-pill{padding:5px 11px}.icon-btn{background:#fff;padding:8px 12px}.module-head{border:0;padding:0;margin-bottom:24px;gap:16px}.module-head .sub{margin-top:5px;color:var(--steel);font-size:13px}.btn,.icon-btn{border-radius:9px;min-height:38px;font-weight:500;transition:background 160ms,box-shadow 160ms,transform 160ms}.btn:hover,.icon-btn:hover{transform:translateY(-1px)!important;box-shadow:0 4px 10px #25315412}.btn:active,.icon-btn:active{transform:translateY(0) scale(.98)!important}.btn-primary{background:linear-gradient(130deg,#5966cb,#4b57b5);border-color:#505dc2;box-shadow:0 3px 8px #505dc222}.btn-primary:hover{background:var(--primary-hover)}.btn-danger{box-shadow:none}.link-btn{font-weight:500;padding:5px 8px;border-radius:6px}.link-btn:hover{background:var(--steel-soft)}
.panel,.stat-card,.table-wrap,.lifecycle{box-shadow:var(--shadow-card);border-radius:14px;border-color:var(--line)}.panel{padding:22px}.stat-grid{gap:16px}.stat-card{padding:20px;position:relative;transition:transform 180ms,box-shadow 180ms,border-color 180ms}.stat-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px #2533520d;border-color:#c9d1e8}.stat-card .label{color:var(--steel);font-size:11px;font-weight:500;letter-spacing:.065em}.stat-card .value{font-size:26px;color:var(--ink);margin-top:10px;letter-spacing:-.06em}.stat-card .foot{margin-top:8px;font-size:12px}.stat-card:before{content:'';display:block;width:26px;height:3px;background:#6976ce;border-radius:4px;margin-bottom:14px}.stat-card:nth-child(4n+2):before{background:#47998b}.stat-card:nth-child(4n+3):before{background:#b59b69}.stat-card:nth-child(4n+4):before{background:#9580b9}
.toolbar{padding:14px;gap:12px;margin-bottom:18px;box-shadow:var(--shadow-card);border-radius:12px;align-items:center}.toolbar input.search-box,.toolbar input[type=search]{flex:1;min-width:min(220px,100%)}input,select,textarea,.form-field input,.form-field select,.form-field textarea,.search-select input{border-radius:9px;padding:10px 12px;min-height:41px;border:1px solid var(--line);transition:border-color 160ms,box-shadow 160ms}textarea{min-height:96px}input:focus,select:focus,textarea:focus{box-shadow:0 0 0 3px #505dc212;outline:none}.form-field label{font-size:12px;font-weight:500;margin-bottom:6px}.form-grid{gap:18px}.form-section-label{padding:13px 0 5px;border-bottom:1px solid var(--line);color:var(--teal)}.search-options{border-radius:9px}.search-options button{padding:10px 12px}.search-options button:hover,.search-options button:focus{background:var(--steel-soft)}
#content table.data th{background:#f8f9fc;padding:13px 16px;font-size:10.5px;font-weight:600;border-color:var(--line)}#content table.data td{padding:14px 16px;vertical-align:middle;border-color:#edf0f6;font-size:13px}#content table.data tbody tr:nth-child(even){background:#fcfdff}#content table.data tbody tr:hover{background:#f1f4fc}#content table.data tbody tr:last-child td{border-bottom:0}.badge{font-size:11px;font-weight:500;padding:4px 9px;white-space:nowrap}.badge.neutral{background:var(--steel-soft);color:var(--teal)}.badge.pending{background:var(--amber-bg);color:var(--amber)}.empty-state{padding:48px 24px;color:var(--steel);text-align:center}.empty-state .big{font-size:18px;color:var(--ink);margin-bottom:8px}.empty-state p{max-width:430px;margin:8px auto}.modal{border-radius:18px;box-shadow:var(--shadow-floating)}.modal-backdrop{background:#131c3b66;backdrop-filter:blur(4px)}.modal-head{padding:20px 24px;background:#fff;border-bottom:1px solid var(--line)}.modal-head h3{font-size:18px}.modal-body{padding:24px;background:#fbfcfe}.modal-foot{padding:17px 24px;background:white;border-top:1px solid var(--line)}.modal-backdrop.show .modal{animation:premium-enter 200ms ease}.toast{border-radius:12px;animation:premium-enter 180ms ease}.phase-note{font-size:12px;border-radius:12px}.gate-card{border-radius:18px;box-shadow:var(--shadow-floating)}#gate{background:radial-gradient(ellipse at top,#e7eafa,transparent 65%),var(--paper)}
.premium-hero{background:linear-gradient(120deg,#273659,#465590);border:1px solid #40517e;border-radius:17px;padding:25px 28px;margin-bottom:24px;color:white;display:flex;align-items:center;justify-content:space-between;gap:20px;overflow:hidden;position:relative}.premium-hero h2{color:white;font-size:27px}.premium-hero p{color:#d5ddf3;margin:6px 0 0;font-size:13px}.premium-hero .eyebrow{color:#c2cdf0}.premium-hero .btn{background:#fff;color:#35457a;border-color:white;flex-shrink:0}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--steel);margin-bottom:6px;font-weight:600}.hr-workspace{display:grid;grid-template-columns:190px minmax(0,1fr);gap:24px;align-items:start}.hr-menu{display:flex;flex-direction:column;gap:5px;background:white;border:1px solid var(--line);padding:10px;border-radius:13px;position:sticky;top:94px}.hr-menu button{display:flex;gap:10px;align-items:center;text-align:left;border:0;border-radius:8px;padding:10px;background:transparent;color:var(--steel);font-size:12px;min-height:39px}.hr-menu button:hover{background:#f5f6fa}.hr-menu button[aria-current=page]{color:var(--teal);background:var(--steel-soft);font-weight:600}.hr-menu .menu-count{margin-left:auto;font-family:var(--font-data);font-size:10px;opacity:.7}.hr-content{min-width:0;animation:premium-enter 180ms ease}.hr-content .module-head h2{font-size:21px}.hr-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.hr-panels{display:grid;grid-template-columns:1.15fr 1fr;gap:18px}.hr-panels .panel h3{margin-bottom:16px}.person{display:flex;align-items:center;gap:12px;min-width:0}.person strong{font-weight:500;display:block}.person small{color:var(--steel);display:block}.avatar{height:36px;width:36px;flex-shrink:0;border-radius:11px;display:grid;place-items:center;background:var(--steel-soft);color:var(--teal);font-weight:600;font-size:12px}.avatar.large{width:66px;height:66px;border-radius:19px;font-size:21px}.person-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.person-row:last-child{border:0}.meter-row{margin:17px 0}.meter-label{display:flex;justify-content:space-between;font-size:12px;margin-bottom:7px}.meter{height:6px;background:#edf0f8;border-radius:8px;overflow:hidden}.meter span{height:100%;display:block;background:linear-gradient(90deg,#6674c7,#95a4e7);border-radius:8px}.detail-hero{display:flex;gap:16px;align-items:center;margin-bottom:24px}.detail-hero h2{font-size:23px}.detail-hero p{color:var(--steel);margin:3px 0 8px}.detail-section{padding:20px;border:1px solid var(--line);border-radius:13px;background:white;min-width:0}.detail-section h3{font-size:14px;margin-bottom:17px}.detail-section dl{margin:0}.detail-section dd{font-size:13px;margin:4px 0 0;color:var(--ink)}.detail-section dt{font-size:11px;color:var(--steel)}.detail-section dl>div{margin-bottom:14px}.detail-section dl>div:last-child{margin:0}.details-columns{display:grid;grid-template-columns:1fr 1fr;gap:17px}.detail-section.wide{grid-column:1/-1}.notes-text{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--steel);font-size:13px}.danger-zone{margin-top:24px;border:1px solid #efd4da;border-radius:12px;padding:17px 20px;display:flex;justify-content:space-between;align-items:center;gap:16px;background:#fff9fa}.danger-zone p{color:var(--steel);font-size:12px;margin:4px 0 0}.danger-zone .btn{background:white;color:var(--red);border:1px solid #e5bdc6}.history-row{padding:9px 0;border-bottom:1px solid var(--line);font-size:12px}.history-row small{display:block;color:var(--steel)}.contact-name{background:transparent;border:0;text-align:left;color:var(--ink);font:inherit;cursor:pointer}.contact-name:hover{color:var(--teal)}.list-caption{padding:12px 17px;border-top:1px solid var(--line);font-size:12px;color:var(--steel)}.preview-label{padding:7px 12px;border-radius:8px;background:#fff3d9;color:#805c22;font-size:11px;margin:8px 12px}.skeleton{height:18px;border-radius:6px;background:linear-gradient(90deg,#e8ecf4 25%,#f6f8fc 50%,#e8ecf4 75%);background-size:200% 100%;animation:premium-shimmer 1.5s linear infinite;margin:16px 0}.skeleton:nth-child(2){width:65%}.skeleton:nth-child(3){height:140px}.loading-panel{padding:28px;background:#fff;border-radius:14px;border:1px solid var(--line)}#content>.module-head,#content>.stat-grid,#content>.premium-hero{animation:premium-enter 180ms ease}
input[type=checkbox],input[type=radio],.form-field input[type=checkbox],.form-field input[type=radio]{min-height:0;width:16px;height:16px;padding:0;box-shadow:none;flex-shrink:0}.form-field.full:has(input[type=checkbox]){flex-wrap:wrap}.premium-hero .sub{color:#d5ddf3}.detail-section .detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.modal:focus{outline:none}
.sidebar .nav-group-items button.nav-item{width:100%;text-align:left;background:transparent;border:0;font-family:inherit;font-size:13px;line-height:inherit;color:var(--sidebar-text);box-shadow:none}.sidebar .nav-group-items button.nav-item:hover{background:#ffffff10;color:#fff}.sidebar .nav-group-items button.nav-item.active{background:linear-gradient(110deg,#515fbb,#3b497d);box-shadow:0 4px 14px #080f2529;color:#fff}
@keyframes premium-enter{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes premium-shimmer{to{background-position:-200% 0}}
@media(max-width:1150px){.hr-workspace{grid-template-columns:1fr}.hr-menu{position:static;flex-direction:row;flex-wrap:wrap;gap:3px}.hr-menu button{font-size:11px}.hr-menu .menu-count{display:none}.hr-panels{grid-template-columns:1fr}.user-chip{max-width:220px}.content{padding:22px}}
@media(max-width:680px){.content,#content{padding:16px 12px 40px}.topbar{padding:12px;gap:8px}.topbar-right{gap:5px}.user-chip{font-size:10px;max-width:150px}.topbar-right .icon-btn{font-size:11px;padding:6px 8px}.topbar-title{font-size:13px}.premium-hero{padding:20px;align-items:flex-start;flex-direction:column}.premium-hero h2{font-size:23px}.hr-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card{padding:15px}.stat-card .value{font-size:22px}.details-columns{grid-template-columns:1fr}.detail-section.wide{grid-column:auto}.danger-zone{align-items:flex-start;flex-direction:column}.modal-body{padding:16px}.modal-head,.modal-foot{padding:14px 16px}.hr-menu{flex-wrap:nowrap;overflow-x:auto}.hr-menu button{flex-shrink:0}.toolbar>*{max-width:100%}.detail-hero{align-items:flex-start}.person{gap:8px}.avatar{width:30px;height:30px}.module-head h2{font-size:23px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.stat-card:hover,.btn:hover,.btn:active{transform:none!important}}
}
@media screen{.danger-zone #contact-delete{background:#a83249;color:#fff;border:1px solid #a83249;font-weight:600;opacity:1}.danger-zone #contact-delete:hover{background:#85243a}.trend-panel{margin-bottom:24px}.trend-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.trend-summary span{display:block;color:var(--steel);font-size:12px}.trend-summary strong{display:block;font-size:22px;margin-top:6px;overflow-wrap:anywhere}.trend-summary .trend-change{font-size:16px;color:var(--teal)}.trend-tabs{display:flex;gap:5px}.trend-tabs [aria-pressed=true]{background:var(--steel-soft);color:var(--teal);border-color:var(--teal)}.trend-chart{overflow-x:auto}.trend-chart svg{width:100%;min-width:560px;display:block}.trend-chart text{font-family:var(--font-ui);font-size:11px;fill:var(--steel)}.trend-line{fill:none;stroke:#505dc2;stroke-width:3;stroke-dasharray:1500;stroke-dashoffset:0;animation:trend-draw 700ms ease-out}.trend-prior{fill:none;stroke:#929bb7;stroke-width:2;stroke-dasharray:6 5}.trend-legend{display:flex;gap:22px;font-size:12px;color:var(--teal)}.trend-legend span+span{color:var(--steel)}.trend-panel summary{cursor:pointer;font-weight:500;padding:12px 0;color:var(--teal)}.trend-empty{color:var(--steel);text-align:center}.trend-panel .toolbar select{min-width:130px}.trend-panel{animation:premium-enter 200ms ease}.trend-summary>div{padding:15px;background:var(--paper);border-radius:10px}@keyframes trend-draw{from{stroke-dashoffset:1500}to{stroke-dashoffset:0}}@media(max-width:680px){.trend-summary{grid-template-columns:1fr}.trend-summary strong{font-size:20px}}@media(prefers-reduced-motion:reduce){.trend-line,.trend-panel{animation:none!important}}}
