:root{
  --ww-blue:#3780FF;
  --ww-blue-dark:#2F6FDE;
  --ww-blue-soft:#EDF4FF;
  --ww-red:#b4202a;
  --ww-red-dark:#8f1820;
  --ww-purple:#6f3c8d;
  --ink:#333333;
  --ww-dark:#333333;
  --muted:#66717c;
  --muted-2:#87929d;
  --line:#dfe5ea;
  --line-dark:#cbd4dc;
  --page:#f5f7f9;
  --card:#ffffff;
  --soft:#f0f3f5;
  --warning:#8a5410;
  --warning-bg:#fff8e8;
  --success:#23633a;
  --success-bg:#e9f6ee;
  --danger:#8a1c1c;
  --danger-bg:#fdebec;
  --shadow:0 8px 28px rgba(18,39,57,.07);
  --shadow-hover:0 14px 34px rgba(18,39,57,.10);
  --radius:14px;
}

*{box-sizing:border-box}
html{font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--page);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--page);color:var(--ink)}
.site-stripe{height:8px;flex:0 0 8px;background:linear-gradient(90deg,#3b82f6 0 82%,#c82f34 82% 84%,#333333 84% 100%)}
a{color:var(--ww-blue);text-decoration:none}
a:hover{text-decoration:underline}
button,input,select,textarea{font:inherit}
h1,h2,h3{color:var(--ink);line-height:1.16;margin-top:0;letter-spacing:-.02em}
h1{font-size:clamp(1.9rem,2.8vw,2.65rem);margin-bottom:.4rem;font-weight:800}
h2{font-size:1.18rem;margin-bottom:.8rem;font-weight:800}
h3{font-size:1rem}
p{line-height:1.58}
small,.muted,.hint{color:var(--muted)}
small{display:block}
.grow{flex:1;min-width:0}
.prewrap{white-space:pre-wrap;line-height:1.65}

/* Main-site-inspired utility strip */
.utility-bar{background:#333333;color:#fff;min-height:30px;font-size:.72rem;letter-spacing:.02em}
.utility-inner{max-width:1600px;margin:0 auto;min-height:30px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.private-label{font-weight:800;text-transform:uppercase;letter-spacing:.07em}
.lock-dot{color:var(--ww-red);font-size:.65rem;margin-right:6px}
.utility-copy{color:#cfd5da}

.topbar{height:76px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:30}
.brand{display:flex;align-items:center;gap:13px;min-width:0;color:var(--ink)}
.brand:hover{text-decoration:none}
.brand-logo{width:200px;height:53px;object-fit:contain;object-position:left center;max-width:42vw}
.brand-divider{width:1px;height:34px;background:var(--line-dark)}
.brand-section{font-size:.84rem;line-height:1.15;font-weight:800;color:#48535d;max-width:115px}
.top-actions{display:flex;align-items:center;gap:9px}
.user-chip{display:flex;align-items:center;gap:8px;font-size:.84rem;font-weight:800;color:#333b43}
.user-dot{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#f0f3f5;border:1px solid var(--line);color:var(--ww-blue-dark);font-size:.72rem;font-weight:900}

.shell{display:grid;grid-template-columns:245px minmax(0,1fr);min-height:calc(100vh - 114px)}
.sidebar{background:#fff;border-right:1px solid var(--line);padding:22px 13px 18px;position:relative}
.sidebar nav{display:grid;gap:3px;position:sticky;top:126px}
.sidebar-label{padding:4px 12px 8px;color:#919ba4;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;font-weight:900}
.sidebar-label.operator-label{margin-top:14px;padding-top:17px;border-top:1px solid var(--line)}
.sidebar a{min-height:41px;padding:9px 11px;border-radius:8px;color:#394550;font-size:.88rem;font-weight:700;display:flex;align-items:center;gap:10px;position:relative}
.sidebar a:hover{background:#f3f6f8;color:var(--ink);text-decoration:none}
.sidebar a.active{background:var(--ww-blue-soft);color:var(--ww-blue-dark)}
.sidebar a.active::before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:3px;border-radius:3px;background:var(--ww-blue)}
.nav-icon{width:20px;height:20px;display:grid;place-items:center;color:#788690;font-size:.95rem;font-weight:900}
.sidebar a.active .nav-icon{color:var(--ww-blue)}
.nav-count{margin-left:auto;display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--ww-red);color:white;font-size:.68rem;font-weight:900}

.content{padding:34px 34px 48px;max-width:1510px;width:100%;margin:0 auto}
.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin:0 0 24px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.page-head p{margin:.25rem 0 0;color:var(--muted);max-width:760px}
.back{display:inline-block;margin-bottom:12px;font-size:.82rem;font-weight:800;color:var(--ww-blue)}

.btn{border:1px solid transparent;border-radius:7px;background:#edf1f4;color:#263640;padding:10px 15px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;line-height:1.1;transition:background .15s,border-color .15s,transform .15s}
.btn:hover{text-decoration:none;transform:translateY(-1px)}
.btn-primary{background:var(--ww-blue);color:#fff;border-color:var(--ww-blue)}
.btn-primary:hover{background:var(--ww-blue-dark);border-color:var(--ww-blue-dark)}
.btn-outline{background:#fff;border-color:var(--line-dark);color:#343d45}
.btn-outline:hover{background:#f7f9fa;border-color:#aab8c3}
.btn-operator{background:var(--ww-red);border-color:var(--ww-red);color:#fff}
.btn-operator:hover{background:var(--ww-red-dark);border-color:var(--ww-red-dark)}
.btn-danger{background:#fff;border-color:#e8b4b8;color:var(--danger)}
.btn-danger:hover{background:var(--danger-bg)}
.btn-small{padding:8px 10px;font-size:.78rem}
.btn-block{width:100%}

.panel,.system-card,.graph-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.panel{padding:22px;margin-bottom:22px}
.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}
.panel-head h2{margin:0}

/* Dashboard system cards */
.system-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(305px,1fr));gap:16px;margin-bottom:24px}
.system-card{padding:0;overflow:hidden;transition:box-shadow .15s,transform .15s}
.system-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-1px)}
.system-card::before{content:"";display:block;height:4px;background:var(--ww-blue)}
.system-card-head{display:flex;gap:14px;padding:19px 19px 14px}
.system-card h2{margin-bottom:4px;font-size:1.06rem}
.system-card p{margin:0;color:var(--muted);font-size:.84rem;line-height:1.45}
.system-badge{min-width:56px;height:56px;padding:0 7px;border-radius:11px;background:#f1f5f8;border:1px solid #dce6ed;color:var(--ww-blue-dark);font-weight:900;display:grid;place-items:center;font-size:.73rem;text-align:center}
.metrics{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);background:#fafbfc}
.metrics a{text-align:center;color:var(--ink);padding:13px 6px;border-right:1px solid var(--line)}
.metrics a:last-child{border-right:0}
.metrics a:hover{background:var(--ww-blue-soft);text-decoration:none}
.metrics strong{font-size:1.25rem;display:block;color:var(--ww-blue-dark)}
.metrics span{font-size:.66rem;color:var(--muted);text-transform:uppercase;letter-spacing:.055em;font-weight:800}

.list{display:grid}
.list-row,.thread-row{display:flex;align-items:center;gap:14px;padding:13px 5px;border-top:1px solid var(--line);color:var(--ink)}
.list-row:first-child,.thread-row:first-child{border-top:0}
.list-row:hover,.thread-row:hover{text-decoration:none;background:#fbfcfd}
.list-row time,.thread-row time{font-size:.76rem;color:var(--muted);white-space:nowrap}
.list-row small{margin-top:3px}
.list-row.unread{background:var(--ww-blue-soft);border-left:3px solid var(--ww-blue);padding-left:10px}
.tag{display:inline-flex;align-items:center;background:#eef2f5;color:#455665;border-radius:999px;padding:3px 8px;font-size:.68rem;font-weight:800}
.tag.warn{background:#fff0e7;color:#8e480f}

.privacy-banner{background:var(--warning-bg);border:1px solid #efd8a7;border-left:4px solid #d3982c;border-radius:9px;padding:12px 14px;margin-bottom:18px;color:#5e461c;font-size:.88rem}
.filterbar{display:flex;gap:9px;margin-bottom:18px}
.filterbar input{flex:1}
.filterbar select{min-width:220px}
.filterbar.compact{justify-content:flex-end}
.filterbar.compact select{max-width:360px}

input,select,textarea{width:100%;border:1px solid #bac6cf;border-radius:7px;padding:10px 11px;background:#fff;color:var(--ink);outline:none;transition:border-color .15s,box-shadow .15s}
input:focus,select:focus,textarea:focus{border-color:var(--ww-blue);box-shadow:0 0 0 3px rgba(20,79,133,.12)}
textarea{resize:vertical}
.stack{display:grid;gap:14px}
.stack label{display:grid;gap:6px;font-size:.87rem;font-weight:800;color:#37424b}
.stack label .hint{font-weight:500}
.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.check{display:flex!important;align-items:center;gap:8px;font-weight:650!important}
.check input{width:auto;accent-color:var(--ww-blue)}
.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px 14px}
fieldset{border:1px solid var(--line);border-radius:9px;padding:13px}
legend{font-weight:800;padding:0 6px;color:#3d4852}

.table-wrap{background:#fff;border:1px solid var(--line);border-radius:11px;overflow:auto;box-shadow:var(--shadow)}
table{border-collapse:collapse;width:100%;min-width:780px}
th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}
th{background:#f5f7f8;color:#5f6c77;font-size:.69rem;text-transform:uppercase;letter-spacing:.055em;font-weight:900}
td{font-size:.87rem}
td small{margin-top:3px}
tbody tr:hover{background:#fbfcfd}

.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.details{display:grid;grid-template-columns:150px 1fr;gap:11px 16px}
.details dt{color:var(--muted);font-weight:800;font-size:.82rem}
.details dd{margin:0;font-size:.9rem}

.graph-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(265px,1fr));gap:16px}
.graph-card{padding:0;color:var(--ink);overflow:hidden;transition:box-shadow .15s,transform .15s}
.graph-card:hover{text-decoration:none;box-shadow:var(--shadow-hover);transform:translateY(-1px)}
.graph-preview{height:118px;background:linear-gradient(180deg,#f8fafc,#eef4f8);display:grid;place-items:center;margin-bottom:0;color:#7792a8;font-size:.73rem;font-weight:900;letter-spacing:.12em;border-bottom:1px solid var(--line)}
.graph-card>div:last-child{padding:16px}
.graph-card h2{margin:9px 0 5px;font-size:1.04rem}
.graph-card p{font-size:.84rem;color:var(--muted);margin:0;line-height:1.48}
.graph-panel{min-height:360px;display:grid;place-items:center}
.graph-panel canvas{width:100%!important}

.thread-icon{width:40px;height:40px;border-radius:10px;background:#f1f4f6;border:1px solid var(--line);display:grid;place-items:center}
.thread-title{font-weight:850;margin-bottom:5px}
.posts{display:grid;gap:14px;margin-bottom:20px}
.post{display:grid;grid-template-columns:46px 1fr;gap:12px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:17px;box-shadow:0 3px 12px rgba(16,34,50,.035)}
.avatar{width:42px;height:42px;background:var(--ww-blue-dark);color:#fff;display:grid;place-items:center;border-radius:50%;font-weight:900;font-size:.78rem}
.post-meta{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px}
.post-meta time{color:var(--muted);font-size:.75rem}
.attachment{display:inline-block;margin-top:12px;background:#f2f5f7;border:1px solid var(--line);padding:8px 10px;border-radius:7px;font-weight:700}
.attachment small{display:inline}
.post-actions{margin-top:12px}
.link-button{border:0;background:none;padding:0;color:var(--ww-blue);font-weight:800;cursor:pointer}
.reply-box{max-width:900px}

.admin-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:22px}
.admin-stat-grid a{background:#fff;border:1px solid var(--line);border-top:4px solid var(--ww-red);border-radius:11px;padding:17px;color:var(--ink);box-shadow:var(--shadow)}
.admin-stat-grid a:hover{text-decoration:none;box-shadow:var(--shadow-hover)}
.admin-stat-grid strong{display:block;font-size:1.75rem;color:var(--ww-blue-dark)}
.admin-stat-grid span{font-size:.75rem;color:var(--muted);font-weight:700}
.action-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}
.action-grid a{border:1px solid var(--line);border-radius:9px;padding:15px;color:var(--ink);background:#fff}
.action-grid a:hover{text-decoration:none;background:#f8fafb;border-color:#c7d3dc}
.action-grid strong{display:block;margin-bottom:5px}
.action-grid span{font-size:.82rem;color:var(--muted);line-height:1.45}
.admin-layout{display:grid;grid-template-columns:minmax(330px,470px) minmax(0,1fr);gap:20px;align-items:start}
.wide-form{grid-template-columns:minmax(360px,520px) minmax(0,1fr)}
.inline-actions{display:flex;gap:5px;flex-wrap:wrap}
.code{font-family:Consolas,"Courier New",monospace;font-size:.81rem}
.narrow{max-width:800px}
.empty,.empty-state{text-align:center;color:var(--muted);padding:28px}
.fineprint{font-size:.76rem;color:var(--muted)}

/* Login */
.login-shell{min-height:calc(100vh - 56px);display:grid;place-items:center;padding:42px 24px;background:#f3f5f6;position:relative;overflow:hidden}
.login-shell::before{display:none}
.login-card{position:relative;width:min(470px,100%);background:#fff;border:1px solid var(--line-dark);border-radius:15px;padding:28px 30px 26px;box-shadow:0 20px 55px rgba(15,36,53,.10)}
.login-brand{display:flex;align-items:center;gap:13px;padding-bottom:20px;margin-bottom:22px;border-bottom:1px solid var(--line)}
.login-brand img{width:200px;height:53px;object-fit:contain;object-position:left center;max-width:56%}
.login-rule{width:1px;height:36px;background:var(--line-dark)}
.login-private{font-size:.72rem;line-height:1.25;font-weight:900;color:#58636d;text-transform:uppercase;letter-spacing:.065em}
.login-copy{margin-bottom:22px}
.eyebrow{display:block;color:var(--ww-red);font-size:.69rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em;margin-bottom:7px}
.login-copy h1{margin-bottom:8px;font-size:2rem}
.login-copy p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.55}
.login-form{gap:15px}

.password-field{position:relative;display:block}
.password-field input{padding-right:72px}
.password-toggle{position:absolute;top:50%;right:8px;transform:translateY(-50%);border:0;background:transparent;color:var(--ww-blue);font:inherit;font-size:.78rem;font-weight:900;line-height:1;padding:8px 7px;border-radius:6px;cursor:pointer}
.password-toggle:hover{background:#eef4f8;color:var(--ww-blue-dark)}
.password-toggle:focus-visible{outline:2px solid var(--ww-blue);outline-offset:1px}
.login-form .btn{margin-top:3px;min-height:44px}
.login-notice{margin-top:22px;background:#f7f8f9;border-left:3px solid var(--ww-blue);padding:11px 12px;display:grid;gap:2px;font-size:.76rem;color:var(--muted)}
.login-notice strong{color:#424d56;font-size:.77rem}

.footer{min-height:48px;background:#fff;border-top:1px solid var(--line);display:flex;justify-content:center;align-items:center;gap:8px;padding:14px 18px;color:#7c8790;font-size:.7rem;text-align:center}
.footer-separator{color:var(--ww-red)}

.alert{margin-bottom:16px;padding:12px 14px;border-radius:8px;font-size:.87rem;font-weight:800}
.alert-error{background:var(--danger-bg);color:var(--danger);border:1px solid #f0c4c7}
.alert-success{background:var(--success-bg);color:var(--success);border:1px solid #c6e3d0}

.mobile-menu{display:none}

@media(max-width:1120px){
  .admin-stat-grid{grid-template-columns:repeat(3,1fr)}
  .admin-layout{grid-template-columns:1fr}
  .content{padding:28px 24px 42px}
  .user-chip>span:last-child{display:none}
}

@media(max-width:900px){
  .utility-copy{display:none}
  .topbar{height:70px;padding:0 14px}
  .brand-logo{width:168px;height:auto}
  .brand-divider,.brand-section{display:none}
  .shell{grid-template-columns:1fr;min-height:calc(100vh - 108px)}
  .sidebar{position:fixed;left:-280px;top:108px;bottom:0;width:260px;z-index:50;transition:left .2s ease;box-shadow:18px 0 38px rgba(0,0,0,.13);overflow:auto}
  .sidebar.open{left:0}
  .sidebar nav{position:static}
  
  .mobile-menu{display:flex;align-items:center;gap:7px;position:fixed;right:15px;bottom:15px;z-index:70;border:0;border-radius:999px;background:var(--ww-red);color:#fff;font-weight:900;padding:12px 16px;box-shadow:0 8px 24px rgba(96,18,24,.25)}
  .top-actions .btn-operator{display:none}
  .content{padding:22px 15px 38px}
  .page-head{flex-direction:column}
  .detail-grid,.two,.action-grid{grid-template-columns:1fr}
  .filterbar{flex-direction:column}
  .filterbar select{min-width:0}
  .thread-row time{display:none}
  .admin-stat-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:560px){
  .utility-inner{padding:0 14px}
  .topbar{padding:0 10px}
  .brand-logo{width:152px;max-width:50vw}
  .top-actions{gap:5px}
  .top-actions .btn{padding:7px 8px;font-size:.7rem}
  .user-dot{width:30px;height:30px}
  .system-grid,.graph-grid{grid-template-columns:1fr}
  .check-grid{grid-template-columns:1fr}
  .admin-stat-grid{grid-template-columns:1fr 1fr}
  .post{grid-template-columns:1fr}
  .avatar{width:36px;height:36px}
  .details{grid-template-columns:1fr}
  .details dt{margin-top:7px}
  .login-shell{padding:24px 12px}
  .login-card{padding:22px 20px}
  .login-brand img{width:180px;max-width:58%}
  .login-copy h1{font-size:1.75rem}
  .footer{flex-direction:column;gap:2px}
  .footer-separator{display:none}
}


/* --------------------------------------------------------------------------
   Activity Log
   -------------------------------------------------------------------------- */
.page-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.report-feature-card{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:18px;margin:0 0 22px;padding:20px 22px;background:#fff;border:1px solid var(--line-dark);border-top:4px solid var(--ww-blue);border-radius:12px;color:var(--ink);box-shadow:var(--shadow);transition:.15s ease}
.report-feature-card:hover{text-decoration:none;transform:translateY(-1px);box-shadow:0 10px 28px rgba(20,48,70,.10)}
.report-feature-icon{width:58px;height:58px;border-radius:12px;display:grid;place-items:center;background:#eef5fb;color:var(--ww-blue);font-size:1.9rem;font-weight:900}
.report-feature-copy h2{margin:2px 0 5px;font-size:1.25rem}.report-feature-copy p{margin:0;color:var(--muted);font-size:.9rem}.report-feature-arrow{font-weight:900;color:var(--ww-blue);white-space:nowrap}
.activity-fab{position:fixed!important;inset:auto 18px 18px auto!important;z-index:65;display:inline-flex;align-items:center;justify-content:center;gap:7px;width:max-content;min-width:0;min-height:48px;margin:0!important;padding:0 17px;flex:none!important;grid-area:auto!important;align-self:auto!important;justify-self:auto!important;border-radius:999px;background:var(--ww-red);color:#fff;box-shadow:0 10px 28px rgba(113,22,28,.30);font-size:.84rem;font-weight:900;line-height:1;white-space:nowrap;contain:layout style}.activity-fab:hover{text-decoration:none;transform:translateY(-1px)}.activity-fab span{font-size:1.25rem;line-height:1}
.activity-filter-panel{padding:16px 18px}.activity-filters{display:grid;grid-template-columns:minmax(200px,1.25fr) repeat(3,minmax(140px,.75fr));gap:10px;align-items:end}.activity-filters label{display:grid;gap:5px;font-size:.76rem;font-weight:900;color:#596771}.activity-search{grid-column:span 3}.activity-filter-actions{display:flex;gap:8px;align-items:center}
.activity-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:18px}.activity-summary-grid>div{background:#fff;border:1px solid var(--line-dark);border-radius:10px;padding:15px 17px}.activity-summary-grid strong{display:block;color:var(--ww-blue);font-size:1.55rem;line-height:1.1}.activity-summary-grid span{display:block;margin-top:4px;color:var(--muted);font-size:.74rem;text-transform:uppercase;letter-spacing:.05em;font-weight:800}
.activity-log-panel{padding:0;overflow:hidden}.activity-list{display:grid}.activity-month-divider{padding:11px 18px;background:var(--ww-blue-dark);color:#fff;border-top:1px solid var(--ww-blue-dark);font-size:.8rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.activity-month-divider+ .activity-date-divider{border-top:0}.activity-date-divider{position:relative;top:auto;z-index:1;padding:9px 18px;background:#f0f3f5;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:.77rem;font-weight:900;color:#465563;text-transform:uppercase;letter-spacing:.045em}.activity-entry{padding:17px 20px;border-bottom:1px solid var(--line);background:#fff}.activity-entry:last-child{border-bottom:0}.activity-entry-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:9px;color:var(--muted);font-size:.75rem;font-weight:700}.activity-description{font-size:.94rem;line-height:1.7;color:var(--ink);white-space:pre-line}.activity-description br{display:none}.activity-entry-foot{display:flex;justify-content:space-between;gap:12px;margin-top:11px;color:#7a8790;font-size:.72rem}.activity-entry-foot a{font-weight:800}
.activity-sheet-wrap{background:#fff;border:1px solid var(--line-dark);border-radius:10px;overflow:auto;box-shadow:var(--shadow)}.activity-sheet{min-width:1050px}.activity-sheet th{position:sticky;top:0;z-index:2}.activity-sheet td{font-size:.82rem}.activity-sheet-description{min-width:440px;max-width:650px;line-height:1.55;white-space:pre-line}.activity-sheet-date{white-space:nowrap}.activity-sheet-date small{margin-top:3px}
.activity-entry-form-panel{max-width:900px}.activity-entry-form{display:grid;gap:17px}.activity-system-picker{padding:15px 16px}.activity-system-picker .hint{margin:0 0 11px}.activity-system-tabs{display:flex;flex-wrap:wrap;gap:8px}.activity-system-tab{position:relative;cursor:pointer}.activity-system-tab input{position:absolute;opacity:0;pointer-events:none}.activity-system-tab span{display:grid;place-items:center;min-width:70px;min-height:42px;padding:0 13px;border:1px solid #b8c7d4;border-radius:8px;background:#fff;color:#435563;font-weight:900;transition:.12s ease}.activity-system-tab input:checked+span{background:var(--ww-blue);border-color:var(--ww-blue);color:#fff;box-shadow:0 3px 10px rgba(22,73,119,.18)}.activity-system-tab input:focus-visible+span{outline:2px solid var(--ww-blue);outline-offset:2px}
.activity-date-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.activity-entry-form>label,.activity-date-row label,.activity-more-grid label{display:grid;gap:6px;font-size:.86rem;font-weight:800}.activity-description-field textarea{font-size:1rem;line-height:1.55}.activity-more{border:1px solid var(--line);border-radius:10px;background:#fafbfc}.activity-more summary{cursor:pointer;padding:12px 14px;font-size:.84rem;font-weight:900;color:var(--ww-blue)}.activity-more-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:0 14px 14px}.activity-more-grid .full{grid-column:1/-1}.activity-gps-field{display:grid;align-content:start;gap:6px}.field-label{font-size:.86rem;font-weight:800}.activity-location-btn{justify-self:start}.gps-status{font-size:.72rem}.activity-board-visible{padding:11px 12px;background:#f4f8fb;border-left:3px solid var(--ww-blue)}.activity-save-actions{display:flex;gap:9px;flex-wrap:wrap}.activity-edit-layout{grid-template-columns:minmax(420px,1.4fr) minmax(270px,.6fr)}.danger-panel{border-top:3px solid var(--ww-red)}
.print-only{display:none}.activity-print-header{text-align:center;margin-bottom:22px}.activity-print-header img{width:260px;max-width:60%;height:auto}.activity-print-header h1{margin:12px 0 3px;font-size:1.55rem}.activity-print-header h2{margin:0 0 3px}.activity-print-header p{margin:0}.activity-print-footer{text-align:center;margin-top:16px;padding-top:10px;border-top:1px solid #bbb;font-size:.72rem;color:#555}

@media(max-width:1100px){.activity-filters{grid-template-columns:repeat(3,1fr)}.activity-search{grid-column:span 2}.activity-edit-layout{grid-template-columns:1fr}}
@media(max-width:900px){.activity-fab{inset:auto 15px 72px auto!important}.activity-date-divider{top:auto}.report-feature-card{grid-template-columns:52px 1fr}.report-feature-icon{width:48px;height:48px}.report-feature-arrow{grid-column:2}.activity-filters{grid-template-columns:1fr 1fr}.activity-search{grid-column:1/-1}.activity-summary-grid{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:560px){.report-feature-card{grid-template-columns:1fr;padding:17px}.report-feature-icon{display:none}.report-feature-arrow{grid-column:1}.activity-filters{grid-template-columns:1fr}.activity-search{grid-column:1}.activity-filter-actions{flex-wrap:wrap}.activity-summary-grid{grid-template-columns:1fr 1fr}.activity-summary-grid>div:last-child{grid-column:1/-1}.activity-entry{padding:15px}.activity-date-row,.activity-more-grid{grid-template-columns:1fr}.activity-more-grid .full{grid-column:1}.activity-system-tabs{display:grid;grid-template-columns:repeat(4,1fr)}.activity-system-tab span{min-width:0;padding:0 8px}.activity-save-actions{display:grid;grid-template-columns:1fr}.activity-save-actions .btn{width:100%}}

@media print{
  @page{size:auto;margin:.55in .55in .6in}
  body{background:#fff!important;color:#111!important;font-family:Arial,Helvetica,sans-serif;font-size:10pt}
  .site-stripe,.utility-bar,.topbar,.sidebar,.footer,.no-print,.activity-fab,.mobile-menu,.alert{display:none!important}
  .shell{display:block!important;min-height:0!important}.content{display:block!important;max-width:none!important;padding:0!important;margin:0!important}.print-only{display:block!important}
  .activity-page-head{display:none!important}.activity-summary-grid{grid-template-columns:repeat(3,1fr);gap:6px;margin:0 0 12px}.activity-summary-grid>div{box-shadow:none;border:1px solid #bbb;border-radius:0;padding:8px 10px}.activity-summary-grid strong{color:#111;font-size:13pt}.activity-summary-grid span{font-size:7pt}
  .activity-log-panel{border:0!important;box-shadow:none!important;border-radius:0!important}.activity-month-divider{background:#222!important;color:#fff!important;padding:7px 7px;font-size:9pt;letter-spacing:.08em;break-after:avoid;break-before:auto}.activity-date-divider{position:static!important;background:#eee!important;color:#111!important;border:0;border-top:1px solid #aaa;border-bottom:1px solid #aaa;padding:6px 7px;font-size:8pt;break-after:avoid}.activity-entry{padding:9px 7px;border-bottom:1px solid #ccc;break-inside:avoid}.activity-entry-meta{font-size:7.5pt;margin-bottom:5px}.tag{border:1px solid #aaa;background:#fff!important;color:#111!important}.activity-description{font-size:9.5pt;line-height:1.42}.activity-entry-foot{font-size:7pt;margin-top:6px}.activity-print-footer{display:block!important}
}

/* --------------------------------------------------------------------------
   Customer contacts + imports
   -------------------------------------------------------------------------- */
.phone-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(105px,.34fr);gap:10px;align-items:end}.phone-name-field input{min-width:0}.phone-name{color:var(--muted);font-weight:700}.customer-phone-list small{margin:2px 0;color:var(--ink)}.customer-phone-list small strong{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.03em}.customer-contact-details dd{font-weight:700}
.import-panel{border-top:4px solid var(--ww-blue)}.import-help{padding:11px 13px;border-left:3px solid var(--ww-blue);background:#f4f8fb;color:#52606b;font-size:.82rem;line-height:1.5}.import-preview-table{margin-top:14px;max-height:560px}.import-preview-table table{min-width:900px}.import-confirm{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:16px}.import-system-summary{display:grid;grid-template-columns:repeat(7,minmax(78px,1fr));gap:8px;margin:16px 0}.import-system-summary>div{padding:12px 8px;background:#f7f9fa;border:1px solid var(--line);border-radius:9px;text-align:center}.import-system-summary strong{display:block;color:var(--ww-blue);font-size:1.35rem}.import-system-summary span{display:block;margin-top:3px;color:var(--muted);font-size:.72rem;font-weight:900}
@media(max-width:900px){.import-system-summary{grid-template-columns:repeat(4,1fr)}}
@media(max-width:560px){.phone-pair{grid-template-columns:minmax(0,1fr) 112px}.import-system-summary{grid-template-columns:repeat(2,1fr)}.import-confirm{display:grid;grid-template-columns:1fr}.import-confirm>*{width:100%}.import-confirm .btn{width:100%}}

/* Bookkeeper role */
.btn-bookkeeper{background:var(--ww-blue);color:#fff;border-color:var(--ww-blue)}.btn-bookkeeper:hover{background:var(--ww-blue-dark);color:#fff}.bookkeeper-label{color:var(--ww-blue)!important}.bookkeeper-home-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.bookkeeper-home-card{display:block;background:#fff;border:1px solid var(--line-dark);border-top:4px solid var(--ww-blue);border-radius:11px;padding:20px;color:var(--ink);box-shadow:var(--shadow)}.bookkeeper-home-card:hover{text-decoration:none;transform:translateY(-1px);box-shadow:var(--shadow-hover)}.bookkeeper-home-card strong{display:block;font-size:1.05rem;margin-bottom:5px}.bookkeeper-home-card span{display:block;color:var(--muted);font-size:.86rem;line-height:1.5}.bookkeeper-scope{margin-bottom:18px;padding:12px 14px;border-left:4px solid var(--ww-blue);background:#eef5fb;border-radius:0 8px 8px 0;color:#3d566b;font-size:.86rem}.management-role-badge{display:inline-flex;margin-bottom:6px;padding:3px 8px;border-radius:999px;background:#eef5fb;color:var(--ww-blue-dark);font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}@media(max-width:800px){.bookkeeper-home-grid{grid-template-columns:1fr}}

.activity-import-description{white-space:pre-line}.import-confirm-form{display:grid;gap:10px}.import-refresh-check{padding:9px 10px;background:#f4f8fb;border-left:3px solid var(--ww-blue)}

/* Shutoff Lists */
.shutoff-open-panel{border-top:4px solid var(--ww-blue)}
.shutoff-open-form{display:grid;grid-template-columns:minmax(240px,1fr) 190px auto;gap:12px;align-items:end}.shutoff-open-form label,.shutoff-add-form label,.shutoff-item-row label{display:grid;gap:5px;font-size:.78rem;font-weight:900;color:#596771}
.shutoff-title-row{display:flex;justify-content:space-between;align-items:end;gap:18px;margin:4px 0 18px}.shutoff-title-row h2{margin:7px 0 2px;font-size:1.45rem}.shutoff-title-row p{margin:0;color:var(--muted)}
.shutoff-kpis{display:flex;gap:9px}.shutoff-kpis>div{min-width:120px;background:#fff;border:1px solid var(--line-dark);border-radius:10px;padding:11px 14px;text-align:right}.shutoff-kpis strong{display:block;color:var(--ww-blue);font-size:1.25rem}.shutoff-kpis span{display:block;color:var(--muted);font-size:.68rem;text-transform:uppercase;font-weight:900;letter-spacing:.04em}
.shutoff-add-panel{position:relative;z-index:3}.shutoff-add-form{display:grid;grid-template-columns:minmax(230px,1.1fr) minmax(220px,1fr) 150px auto;gap:10px;align-items:end}.customer-autocomplete{position:relative}.customer-autocomplete-results{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:50;background:#fff;border:1px solid var(--line-dark);border-radius:9px;box-shadow:0 14px 34px rgba(18,39,57,.16);overflow:hidden}.customer-autocomplete-option{display:block;width:100%;border:0;border-bottom:1px solid var(--line);background:#fff;text-align:left;padding:10px 12px;cursor:pointer}.customer-autocomplete-option:last-child{border-bottom:0}.customer-autocomplete-option:hover,.customer-autocomplete-option:focus{background:var(--ww-blue-soft);outline:0}.customer-autocomplete-option strong{display:block;color:var(--ink);font-size:.85rem}.customer-autocomplete-option span{display:block;color:var(--muted);font-size:.72rem;margin-top:2px}.customer-autocomplete-empty{padding:11px 12px;color:var(--muted);font-size:.78rem}
.money-input{display:flex;align-items:center;border:1px solid #b9c4cd;border-radius:7px;background:#fff;overflow:hidden}.money-input:focus-within{border-color:#89a9c3;box-shadow:0 0 0 3px rgba(20,79,133,.09)}.money-input span{padding:0 0 0 10px;color:#596771;font-weight:900}.money-input input{border:0!important;box-shadow:none!important;padding-left:5px!important}
.shutoff-list-panel{padding:0;overflow:hidden}.shutoff-list-panel>.panel-head{padding:20px 20px 10px}.shutoff-items{display:grid}.shutoff-item-row{display:grid;grid-template-columns:42px minmax(190px,.9fr) minmax(230px,1.2fr) 130px 135px;gap:10px;align-items:center;padding:12px 16px;border-top:1px solid var(--line);background:#fff}.shutoff-item-row:hover{background:#fbfcfd}.shutoff-row-number{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#f0f3f5;color:#687782;font-size:.75rem;font-weight:900}.shutoff-row-actions{display:flex;gap:5px;justify-content:flex-end}.shutoff-total-row{display:flex;justify-content:flex-end;align-items:center;gap:24px;padding:15px 20px;border-top:2px solid var(--ww-blue-dark);background:#f5f8fa}.shutoff-total-row span{font-weight:900}.shutoff-total-row strong{min-width:120px;text-align:right;font-size:1.2rem;color:var(--ww-blue-dark)}
.shutoff-actions{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 22px}.shutoff-actions form{margin:0}.recent-shutoff-panel{margin-top:6px}
@media(max-width:1100px){.shutoff-add-form{grid-template-columns:1fr 1fr 150px}.shutoff-add-form>.btn{grid-column:1/-1;justify-self:start}.shutoff-item-row{grid-template-columns:38px 1fr 1fr 125px}.shutoff-row-actions{grid-column:2/-1;justify-content:flex-start}}
@media(max-width:720px){.shutoff-open-form,.shutoff-add-form{grid-template-columns:1fr}.shutoff-add-form>.btn{grid-column:1;width:100%}.shutoff-title-row{align-items:flex-start;flex-direction:column}.shutoff-kpis{width:100%}.shutoff-kpis>div{flex:1;text-align:left}.shutoff-item-row{grid-template-columns:34px 1fr;padding:14px 12px}.shutoff-item-row>label,.shutoff-row-actions{grid-column:2}.shutoff-row-actions{justify-content:flex-start}.shutoff-total-row{justify-content:space-between}}

/* Shutoff Lists v2: shutoff day, uploaded-list documents, monthly deletion */
.shutoff-open-form{grid-template-columns:minmax(235px,1fr) 175px 112px auto}
.shutoff-day-field input,.shutoff-day-small{max-width:112px}
.shutoff-upload-panel{border-top:4px solid var(--ww-blue-dark)}
.shutoff-upload-form{display:grid;grid-template-columns:minmax(220px,1fr) 175px 112px minmax(260px,1.15fr) auto;gap:12px;align-items:end}
.shutoff-upload-form label{display:grid;gap:5px;font-size:.78rem;font-weight:900;color:#596771}
.shutoff-file-field small{font-size:.69rem;font-weight:600;color:var(--muted);line-height:1.35}
.shutoff-document-panel{overflow:hidden;border-top:4px solid var(--ww-blue)}
.shutoff-document-panel .panel-head{align-items:center;gap:15px}.shutoff-document-panel .page-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.shutoff-document-panel .page-actions form{margin:0}
.shutoff-image-preview{display:block;max-width:900px;margin:0 auto;padding:0 20px 20px}.shutoff-image-preview img{display:block;max-width:100%;max-height:760px;margin:auto;border:1px solid var(--line);border-radius:8px;background:#fff;object-fit:contain}
.shutoff-pdf-preview{height:min(72vh,820px);margin:0 20px 20px;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#f3f5f6}.shutoff-pdf-preview iframe{display:block;width:100%;height:100%;border:0;background:#fff}
.shutoff-document-file{margin:0 20px 20px;padding:20px;border:1px dashed var(--line-dark);border-radius:9px;background:#f7f9fa;display:grid;gap:5px}.shutoff-document-file strong{font-size:.95rem}.shutoff-document-file span{font-size:.78rem;color:var(--muted)}
.shutoff-settings-grid{display:grid;grid-template-columns:minmax(180px,.35fr) minmax(340px,1fr);gap:24px;align-items:start}.shutoff-settings-grid form{margin:0}
.shutoff-delete-panel{margin-top:18px}.shutoff-delete-panel p{max-width:780px;color:var(--muted)}
@media(max-width:1200px){.shutoff-upload-form{grid-template-columns:1fr 175px 112px 1fr}.shutoff-upload-form>.btn{grid-column:1/-1;justify-self:start}.shutoff-open-form{grid-template-columns:1fr 175px 112px}.shutoff-open-form>.btn{grid-column:1/-1;justify-self:start}}
@media(max-width:760px){.shutoff-open-form,.shutoff-upload-form,.shutoff-settings-grid{grid-template-columns:1fr}.shutoff-open-form>.btn,.shutoff-upload-form>.btn{grid-column:1;width:100%}.shutoff-day-field input,.shutoff-day-small{max-width:none}.shutoff-pdf-preview{height:62vh;margin:0 12px 14px}.shutoff-image-preview{padding:0 12px 14px}.shutoff-document-file{margin:0 12px 14px}.shutoff-document-panel .panel-head{align-items:flex-start;flex-direction:column}}

/* --------------------------------------------------------------------------
   File Cabinet
   -------------------------------------------------------------------------- */
.file-cabinet-category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:11px;margin-bottom:18px}
.file-category-card{position:relative;display:grid;gap:4px;min-height:104px;padding:16px;background:#fff;border:1px solid var(--line);border-top:4px solid var(--ww-blue);border-radius:11px;color:var(--ink);box-shadow:var(--shadow)}
.file-category-card:hover{text-decoration:none;transform:translateY(-1px);box-shadow:var(--shadow-hover)}
.file-category-card.selected{outline:2px solid var(--ww-blue);outline-offset:1px;background:var(--ww-blue-soft)}
.file-category-card strong{font-size:.94rem}.file-category-card span{color:var(--muted);font-size:.78rem}.file-category-card small{margin-top:auto;font-size:.68rem}
.file-cabinet-toolbar{padding:15px 17px}.file-cabinet-filter{display:grid;grid-template-columns:minmax(210px,.8fr) minmax(190px,.65fr) minmax(240px,1fr) auto;gap:10px;align-items:end}.file-cabinet-filter label,.file-upload-form label{display:grid;gap:5px;font-size:.77rem;font-weight:900;color:#596771}.file-filter-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.file-upload-panel{padding:0;overflow:hidden;border-top:4px solid var(--ww-blue-dark)}.file-upload-panel>summary{cursor:pointer;display:flex;justify-content:space-between;gap:18px;align-items:center;padding:16px 18px;background:#fff}.file-upload-panel>summary span{color:var(--muted);font-size:.78rem}.file-upload-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;padding:18px;border-top:1px solid var(--line);background:#fbfcfd}.file-upload-form .full{grid-column:1/-1}
.file-cabinet-heading{display:flex;align-items:end;justify-content:space-between;gap:14px;margin:24px 2px 12px}.file-cabinet-heading h2{margin:0 0 3px}.file-cabinet-heading p{margin:0;color:var(--muted);font-size:.8rem}.file-cabinet-heading>a{font-size:.82rem;font-weight:900}
.file-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}.file-card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:var(--shadow);display:grid;grid-template-rows:145px 1fr}.file-preview{display:grid;place-items:center;background:#f1f5f7;border-bottom:1px solid var(--line);overflow:hidden}.file-preview:hover{text-decoration:none}.file-preview img{width:100%;height:100%;object-fit:cover;object-position:center center}.file-type-icon{display:grid;place-items:center;width:76px;height:76px;border-radius:15px;background:#fff;border:1px solid #cfdae2;color:var(--ww-blue-dark);font-size:1rem;font-weight:900;letter-spacing:.04em;box-shadow:0 8px 22px rgba(20,49,72,.08)}.file-type-icon.small{width:48px;height:48px;border-radius:10px;font-size:.68rem;flex:0 0 48px}.file-card-body{display:flex;flex-direction:column;padding:15px}.file-card-tags{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:.7rem}.file-card h3{margin:9px 0 6px;font-size:1rem}.file-card p{margin:0 0 8px;color:var(--muted);font-size:.8rem;line-height:1.48}.file-card small{font-size:.68rem;line-height:1.4;margin-top:2px}.file-card-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:auto;padding-top:12px;font-size:.76rem;font-weight:900}.inline-form{display:inline;margin:0}.danger-link{color:var(--danger)!important}
.file-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.gallery-tile{display:grid;background:#fff;border:1px solid var(--line);border-radius:11px;overflow:hidden;color:var(--ink);box-shadow:var(--shadow)}.gallery-tile:hover{text-decoration:none;box-shadow:var(--shadow-hover)}.gallery-tile img{width:100%;height:210px;object-fit:cover;background:#eef2f4}.gallery-tile span{padding:10px 12px}.gallery-tile strong{display:block;font-size:.84rem}.gallery-tile small{margin-top:3px;font-size:.68rem}

/* Dashboard references */
.dashboard-reference-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:22px}.dashboard-reference-card{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:13px;align-items:center;padding:16px 18px;background:#fff;border:1px solid var(--line);border-top:4px solid var(--ww-blue);border-radius:11px;color:var(--ink);box-shadow:var(--shadow)}.dashboard-reference-card:hover{text-decoration:none;box-shadow:var(--shadow-hover);transform:translateY(-1px)}.dashboard-reference-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:10px;background:var(--ww-blue-soft);color:var(--ww-blue-dark);font-size:1.3rem;font-weight:900}.dashboard-reference-card strong{display:block;margin-bottom:3px}.dashboard-reference-card p{margin:0;color:var(--muted);font-size:.78rem;line-height:1.45}.dashboard-reference-card b{font-size:.76rem;color:var(--ww-blue);white-space:nowrap}

/* --------------------------------------------------------------------------
   O&M Manual binder
   -------------------------------------------------------------------------- */
.om-system-switch label{display:grid;gap:5px;min-width:300px;font-size:.75rem;font-weight:900;color:var(--muted)}.om-binder{display:grid;grid-template-columns:210px minmax(0,1fr);gap:18px;align-items:start}.om-tabs{position:sticky;top:96px;display:grid;background:#18232c;border-radius:11px;overflow:hidden;box-shadow:var(--shadow)}.om-tabs a{display:grid;grid-template-columns:34px 1fr;gap:8px;align-items:center;padding:10px 11px;border-bottom:1px solid rgba(255,255,255,.08);color:#eef3f6;font-size:.72rem;font-weight:800;line-height:1.25}.om-tabs a:last-child{border-bottom:0}.om-tabs a:hover{background:#243542;text-decoration:none}.om-tabs span{display:grid;place-items:center;height:26px;border-radius:5px;background:var(--ww-blue);font-size:.64rem}.om-pages{display:grid;gap:18px}.om-cover{min-height:300px;padding:45px 42px;background:linear-gradient(145deg,#fff,#f5f8fa);border:1px solid var(--line-dark);border-left:10px solid #1d2730;border-radius:8px 14px 14px 8px;box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:center}.om-cover-kicker{text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;font-weight:900;color:var(--ww-red)}.om-cover h2{margin:10px 0 5px;font-size:1.85rem}.om-cover>strong{font-size:1.08rem;color:var(--ww-blue-dark);letter-spacing:.035em}.om-cover p{max-width:720px;color:var(--muted)}.om-section{position:relative;padding:24px 24px 22px 32px;background:#fff;border:1px solid var(--line);border-left:8px solid #26323c;border-radius:7px 12px 12px 7px;box-shadow:var(--shadow);scroll-margin-top:95px}.om-section-number{position:absolute;left:-8px;top:22px;transform:translateX(-50%);display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--ww-blue);color:#fff;border:4px solid var(--page);font-size:.65rem;font-weight:900}.om-section-head{display:flex;justify-content:space-between;gap:20px}.om-section-head h2{margin:0 0 6px;font-size:1.35rem}.om-section-head p{margin:0;color:var(--muted);max-width:840px;font-size:.86rem}.om-doc-count{height:max-content;padding:5px 9px;border-radius:999px;background:#eef3f6;color:#52616c;font-size:.68rem;font-weight:900;white-space:nowrap}.om-empty{margin-top:16px;padding:13px 14px;border:1px dashed var(--line-dark);border-radius:8px;color:var(--muted);font-size:.8rem}.om-document-list{display:grid;margin-top:14px}.om-document{display:flex;align-items:center;gap:12px;padding:12px 4px;border-top:1px solid var(--line)}.om-document:first-child{border-top:0}.om-document strong{display:block;font-size:.86rem}.om-document small{margin-top:3px;font-size:.68rem}.om-document p{margin:4px 0 0;color:var(--muted);font-size:.76rem}.om-doc-actions{display:flex;align-items:center;gap:10px;font-size:.72rem;font-weight:900}.om-add-doc{margin-top:14px;border-top:1px dashed var(--line-dark);padding-top:12px}.om-add-doc>summary{cursor:pointer;color:var(--ww-blue);font-weight:900;font-size:.78rem}.om-add-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:12px}.om-add-grid form{padding:14px;border:1px solid var(--line);border-radius:9px;background:#f8fafb}.om-add-grid h3{margin:0 0 10px;font-size:.88rem}

/* Discussion + File Cabinet linking */
.discussion-file-help{padding:10px 12px;border-left:3px solid var(--ww-blue);background:#f3f7fa;color:var(--muted);font-size:.78rem;line-height:1.45}.discussion-attachment-card{display:flex;gap:12px;align-items:center;margin-top:12px;padding:11px 12px;background:#f7f9fa;border:1px solid var(--line);border-radius:9px}.discussion-attachment-card>div{min-width:0}.discussion-attachment-card strong{display:block;font-size:.8rem;word-break:break-word}.discussion-attachment-card small{margin-top:3px;font-size:.67rem}.discussion-image-thumb{display:block;width:92px;height:72px;flex:0 0 92px;border-radius:7px;overflow:hidden;background:#e7edf1}.discussion-image-thumb img{width:100%;height:100%;object-fit:cover}.discussion-file-actions{display:flex;gap:10px;margin-top:6px;font-size:.69rem;font-weight:900}.cabinet-link-card{border-left:4px solid var(--ww-blue)}.cabinet-link-card .eyebrow{margin-bottom:3px;font-size:.58rem}

@media(max-width:1050px){.file-cabinet-filter{grid-template-columns:1fr 1fr}.file-search{grid-column:1/-1}.file-filter-actions{grid-column:1/-1}.om-binder{grid-template-columns:1fr}.om-tabs{position:static;grid-template-columns:repeat(2,1fr)}.om-add-grid{grid-template-columns:1fr}}
@media(max-width:700px){.file-cabinet-filter,.file-upload-form{grid-template-columns:1fr}.file-upload-form .full,.file-search,.file-filter-actions{grid-column:1}.file-filter-actions .btn{flex:1}.file-card-grid{grid-template-columns:1fr}.dashboard-reference-grid{grid-template-columns:1fr}.dashboard-reference-card{grid-template-columns:44px 1fr}.dashboard-reference-card b{grid-column:2}.om-head{gap:12px}.om-system-switch,.om-system-switch label{width:100%;min-width:0}.om-tabs{grid-template-columns:1fr 1fr}.om-section{padding:20px 15px 18px 24px}.om-section-head{display:grid}.om-doc-count{justify-self:start}.om-document{align-items:flex-start;flex-wrap:wrap}.om-document .grow{flex:1}.om-doc-actions{width:100%;padding-left:60px}.discussion-attachment-card{align-items:flex-start;flex-wrap:wrap}}

@media print{
  .om-tabs,.om-add-doc,.file-upload-panel,.file-cabinet-toolbar,.file-cabinet-category-grid{display:none!important}
  .om-binder{display:block}.om-pages{gap:0}.om-cover,.om-section{box-shadow:none;break-inside:avoid;margin-bottom:14px}.om-cover{min-height:0}.om-section{border-left:4px solid #222}.om-section-number{display:none}.om-document{break-inside:avoid}
}

/* --------------------------------------------------------------------------
   2026-09-10 portal refinements
   -------------------------------------------------------------------------- */
/* Consolidated Shutoff List create/upload controls */
.shutoff-create-form{display:grid;grid-template-columns:minmax(235px,1fr) 175px 112px minmax(260px,1.15fr);gap:12px;align-items:end}
.shutoff-create-form>label{display:grid;gap:5px;font-size:.78rem;font-weight:900;color:#596771;align-self:stretch}
.shutoff-create-form>label>select,.shutoff-create-form>label>input{margin-top:auto}
.shutoff-create-form .shutoff-file-field small{display:block;min-height:30px;margin-top:3px;font-size:.67rem;line-height:1.35;font-weight:600;color:var(--muted)}
.shutoff-create-actions{grid-column:1/-1;display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:2px}

/* File Cabinet editable metadata */
.file-edit-details{margin-top:9px;border-top:1px dashed var(--line);padding-top:8px}
.file-edit-details>summary{cursor:pointer;color:var(--ww-blue);font-size:.72rem;font-weight:900;list-style:none}
.file-edit-details>summary::-webkit-details-marker{display:none}
.file-edit-form{display:grid;gap:9px;margin-top:10px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#f8fafb}
.file-edit-form label{display:grid;gap:4px;font-size:.68rem;font-weight:900;color:#596771}
.file-edit-form textarea{min-height:72px;resize:vertical}
.file-edit-form .btn{justify-self:start}

/* Expandable customer mobile/email contacts */
.customer-contact-group{display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:9px;background:#fafcfd}
.customer-contact-group+.customer-contact-group{margin-top:2px}
.contact-extra.is-hidden{display:none!important}
.phone-pair-with-add{grid-template-columns:minmax(0,1fr) minmax(105px,.34fr) 34px}
.contact-add-button{align-self:end;width:34px;height:42px;border:1px solid var(--line-dark);border-radius:8px;background:#fff;color:var(--ww-blue);font-size:1.25rem;font-weight:900;line-height:1;cursor:pointer}
.contact-add-button:hover,.contact-add-button:focus-visible{background:var(--ww-blue-soft);border-color:var(--ww-blue);outline:none}

/* O&M system chooser for accounts with access to multiple systems */
.om-system-chooser{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:13px;max-width:980px}
.om-system-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px;background:#fff;border:1px solid var(--line);border-top:4px solid var(--ww-blue);border-radius:11px;color:var(--ink);box-shadow:var(--shadow)}
.om-system-card:hover{text-decoration:none;box-shadow:var(--shadow-hover);transform:translateY(-1px)}
.om-system-card strong{display:block;font-size:.95rem}.om-system-card small{display:block;margin-top:3px;color:var(--muted);font-size:.72rem}.om-system-card b{color:var(--ww-blue);font-size:.76rem;white-space:nowrap}

/* Discussion editing / moderation */
.post-meta{align-items:center;flex-wrap:wrap;justify-content:flex-start}
.post-meta time{margin-left:auto}
.edited-label{padding:2px 6px;border-radius:999px;background:#eef2f5;color:var(--muted);font-size:.61rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.post-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.post-edit-details{margin:0}
.post-edit-details>summary{cursor:pointer;color:var(--ww-blue);font-size:.75rem;font-weight:900;list-style:none}
.post-edit-details>summary::-webkit-details-marker{display:none}
.post-edit-form{display:grid;gap:9px;width:min(650px,100%);margin-top:10px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#f8fafb}
.post-edit-form label{display:grid;gap:5px;font-size:.72rem;font-weight:900;color:#596771}.post-edit-form textarea{resize:vertical}

@media(max-width:1050px){.shutoff-create-form{grid-template-columns:1fr 175px 112px}.shutoff-create-form .shutoff-file-field{grid-column:1/-1}}
@media(max-width:700px){
  .shutoff-create-form{grid-template-columns:1fr}.shutoff-create-form .shutoff-file-field,.shutoff-create-actions{grid-column:1}.shutoff-create-actions .btn{width:100%}
  .phone-pair-with-add{grid-template-columns:minmax(0,1fr) 105px 34px}.contact-add-button{width:34px}
  .om-system-chooser{grid-template-columns:1fr}
  .post-meta time{margin-left:0;width:100%}
}
@media(max-width:480px){.phone-pair,.phone-pair-with-add{grid-template-columns:1fr 92px}.phone-pair-with-add .contact-add-button{grid-column:2;justify-self:end;height:34px}.customer-contact-group{padding:10px}}

.file-edit-details[open]{flex-basis:100%;width:100%;order:20}.file-edit-details[open] .file-edit-form{width:100%}
.om-system-switch{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.om-system-switch .btn{margin-bottom:0}


/* --------------------------------------------------------------------------
   2026-09-10 follow-up refinements
   -------------------------------------------------------------------------- */
.is-hidden{display:none!important}

/* File Cabinet: keep View / Download / Discuss / Edit / Delete in one action row. */
.file-card-actions{gap:10px;align-items:center}
.file-card-actions>a,
.file-card-actions>.link-button,
.file-card-actions>.inline-form>.link-button{
  display:inline-flex;align-items:center;min-height:24px;margin:0;padding:0;
  border:0;background:transparent;font:inherit;font-size:.76rem;font-weight:900;
  line-height:1;color:var(--ww-blue);text-decoration:none;cursor:pointer
}
.file-card-actions>.inline-form{display:inline-flex;align-items:center;margin:0}
.file-card-actions .danger-link{color:var(--danger)!important}
.file-edit-form{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;
  width:100%;margin-top:12px;padding:12px;border:1px solid var(--line);
  border-radius:8px;background:#f8fafb
}
.file-edit-form label{display:grid;gap:4px;font-size:.68rem;font-weight:900;color:#596771}
.file-edit-form label:nth-of-type(3),
.file-edit-form label:nth-of-type(4),
.file-edit-buttons{grid-column:1/-1}
.file-edit-form textarea{width:100%;min-height:74px;resize:vertical}
.file-edit-buttons{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.file-edit-toggle{color:var(--ww-blue)!important}

/* Customer contact groups: compact +/- controls after the name box. */
.phone-pair-with-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(105px,.34fr) auto;gap:10px;align-items:end}
.contact-buttons{display:flex;align-items:center;justify-content:flex-end;gap:5px;min-height:42px}
.contact-add-button,.contact-remove-button{
  display:inline-grid;place-items:center;width:34px;height:42px;padding:0;
  border:1px solid var(--line-dark);border-radius:8px;background:#fff;
  font-size:1.25rem;font-weight:900;line-height:1;cursor:pointer
}
.contact-add-button{color:var(--ww-blue)}
.contact-remove-button{color:var(--ww-red)}
.contact-add-button:hover,.contact-add-button:focus-visible{background:var(--ww-blue-soft);border-color:var(--ww-blue);outline:none}
.contact-remove-button:hover,.contact-remove-button:focus-visible{background:#fff3f3;border-color:var(--ww-red);outline:none}

/* Discussion editing: edit the existing post in place, without a second boxed panel. */
.discussion-post-text{white-space:pre-wrap;font-size:.92rem;line-height:1.55;color:var(--ink)}
.post-actions .link-button,.post-edit-toggle{
  font-size:.75rem!important;font-weight:900!important;line-height:1!important;
  padding:0!important;min-height:22px!important
}
.post-edit-form{
  display:grid;gap:9px;width:100%;margin:0 0 10px;padding:0;
  border:0;border-radius:0;background:transparent
}
.post-edit-form label{display:grid;gap:5px;font-size:.72rem;font-weight:900;color:#596771}
.post-edit-form textarea{width:100%;min-height:110px;resize:vertical;line-height:1.5}
.post-edit-buttons{display:flex;gap:8px;align-items:center;flex-wrap:wrap}

/* Shutoff create/upload row: every field has the same title/control/note tracks. */
.shutoff-create-form{align-items:start}
.shutoff-create-form>label{
  display:grid!important;grid-template-rows:auto 44px 32px;gap:5px!important;
  align-self:stretch!important;min-width:0
}
.shutoff-field-label{display:block;align-self:end;font-size:.78rem;font-weight:900;color:#596771;line-height:1.2}
.shutoff-create-form>label>select,
.shutoff-create-form>label>input{
  width:100%;height:44px;min-height:44px;margin:0!important;align-self:stretch
}
.shutoff-create-form .shutoff-file-field input[type="file"]{padding:6px 8px;line-height:28px}
.shutoff-field-note{
  display:block!important;min-height:32px!important;margin:0!important;
  font-size:.67rem!important;line-height:1.3!important;font-weight:600!important;color:var(--muted)!important
}

@media(max-width:700px){
  .file-edit-form{grid-template-columns:1fr}
  .file-edit-form label:nth-of-type(3),.file-edit-form label:nth-of-type(4),.file-edit-buttons{grid-column:1}
  .phone-pair-with-controls{grid-template-columns:minmax(0,1fr) 105px auto}
}
@media(max-width:480px){
  .phone-pair-with-controls{grid-template-columns:1fr 92px}
  .contact-buttons{grid-column:1/-1;justify-content:flex-end;min-height:34px}
  .contact-add-button,.contact-remove-button{height:34px}
}


/* --------------------------------------------------------------------------
   Customer transfer controls
   -------------------------------------------------------------------------- */
.customer-transfer-tools{display:grid;justify-items:end;gap:7px;max-width:760px}
.customer-transfer-date{font-size:.76rem;font-weight:800;color:var(--muted);padding-right:2px}
@media(max-width:760px){.customer-transfer-tools{justify-items:stretch;width:100%}.customer-transfer-tools .page-actions{display:grid;grid-template-columns:1fr}.customer-transfer-date{text-align:left}}

/* --------------------------------------------------------------------------
   Board Discussion replies / notifications
   -------------------------------------------------------------------------- */
.discussion-page-actions{align-items:flex-start}
.discussion-replies-menu{position:relative}
.discussion-replies-menu>summary{list-style:none;min-height:39px;padding:9px 12px;border:1px solid var(--line-dark);border-radius:7px;background:#fff;color:var(--ink);font-size:.82rem;font-weight:900;cursor:pointer;display:flex;align-items:center;gap:7px}
.discussion-replies-menu>summary::-webkit-details-marker{display:none}
.reply-count{display:grid;place-items:center;min-width:21px;height:21px;padding:0 6px;border-radius:999px;background:var(--ww-red);color:#fff;font-size:.67rem;font-weight:900}
.discussion-replies-popover{position:absolute;z-index:80;right:0;top:46px;width:min(430px,88vw);max-height:520px;overflow:auto;background:#fff;border:1px solid var(--line-dark);border-radius:10px;box-shadow:0 18px 45px rgba(23,42,54,.18);padding:8px}
.discussion-replies-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 8px 10px;border-bottom:1px solid var(--line)}
.discussion-reply-item{display:grid;gap:3px;padding:10px 9px;border-bottom:1px solid var(--line);color:var(--ink)}
.discussion-reply-item:last-child{border-bottom:0}
.discussion-reply-item:hover{text-decoration:none;background:#f7f9fa}
.discussion-reply-item.unread{border-left:3px solid var(--ww-red);background:#fff8f8}
.discussion-reply-item strong{font-size:.83rem;line-height:1.35}
.discussion-reply-item small{color:var(--muted);font-size:.73rem}
.discussion-reply-item time{color:var(--muted);font-size:.69rem}
.compact-empty{margin:8px}
@media(max-width:620px){.discussion-page-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.discussion-replies-menu{position:static}.discussion-replies-popover{position:absolute;left:12px;right:12px;top:auto;width:auto;margin-top:7px}.discussion-replies-menu>summary,.discussion-page-actions>.btn{width:100%;justify-content:center}}

/* --------------------------------------------------------------------------
   Shared Notification Center
   -------------------------------------------------------------------------- */
.notification-wip{margin:0 0 18px;padding:12px 14px;border-left:4px solid var(--ww-blue);background:#eef5fb;color:#455d70;border-radius:0 8px 8px 0;font-size:.84rem;line-height:1.5}
.notification-layout{display:grid;grid-template-columns:minmax(420px,.95fr) minmax(420px,1.05fr);gap:20px;align-items:start}
.notification-create-panel{border-top:4px solid var(--ww-blue)}
.notification-customer-picker{display:grid;gap:9px;padding:12px;border:1px solid var(--line);border-radius:9px;background:#fafbfc}
.picker-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.picker-head strong{display:block}.picker-head small{display:block;color:var(--muted);font-size:.75rem;margin-top:2px}.picker-actions{display:flex;gap:9px;white-space:nowrap}
.notification-customer-list{max-height:390px;overflow:auto;border:1px solid var(--line);border-radius:7px;background:#fff}
.notification-customer-option{display:flex;gap:10px;align-items:flex-start;padding:9px 10px;border-bottom:1px solid var(--line);cursor:pointer}.notification-customer-option:last-child{border-bottom:0}.notification-customer-option:hover{background:#f5f8fa}.notification-customer-option[hidden]{display:none!important}.notification-customer-option input{margin-top:3px}.notification-customer-option span{display:grid;gap:2px}.notification-customer-option strong{font-size:.83rem}.notification-customer-option small{font-size:.73rem;color:var(--muted)}
.notification-picker-count{font-size:.73rem;font-weight:800;color:var(--muted)}
.notification-campaign-list{display:grid;gap:9px}.notification-campaign-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:9px;color:var(--ink);background:#fff}.notification-campaign-card:hover{text-decoration:none;border-color:#c7d7e2;box-shadow:0 5px 16px rgba(23,42,54,.06)}.notification-campaign-card>div:first-child{display:grid;justify-items:start;gap:4px}.notification-campaign-card strong{font-size:.92rem}.notification-campaign-card small{color:var(--muted);font-size:.76rem}.notification-campaign-progress{text-align:right;display:grid;gap:1px}.notification-campaign-progress b{font-size:1.25rem;color:var(--ww-red)}.notification-campaign-progress span,.notification-campaign-progress time{font-size:.68rem;color:var(--muted)}
.notification-list-head .tag{margin-bottom:6px}.notification-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}.notification-summary>div{padding:13px;border:1px solid var(--line);border-radius:9px;background:#fff;text-align:center}.notification-summary strong{display:block;font-size:1.55rem;color:var(--ink)}.notification-summary span{display:block;color:var(--muted);font-size:.71rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.notification-summary .pending{border-top:4px solid #9a6c00}.notification-summary .called{border-top:4px solid var(--ww-blue)}.notification-summary .messaged{border-top:4px solid #31734c}
.notification-message-editor{margin-bottom:18px}.notification-message-editor>summary{font-weight:900;cursor:pointer}.notification-details-form{margin-top:14px}
.notification-working-list{overflow:visible}.notification-pending-filter{display:flex;align-items:center;gap:6px;font-size:.78rem;font-weight:800;color:var(--muted)}
.notification-recipient-list{display:grid;gap:9px}.notification-recipient{display:grid;grid-template-columns:minmax(220px,1fr) minmax(280px,1.3fr) auto;gap:14px;align-items:center;padding:12px 13px;border:1px solid var(--line);border-left:5px solid #c4cbd0;border-radius:9px;background:#fff}.notification-recipient.called{border-left-color:var(--ww-blue)}.notification-recipient.messaged{border-left-color:#31734c}.notification-recipient[hidden]{display:none!important}
.notification-recipient-main{display:grid;gap:2px}.notification-recipient-main>strong{font-size:.9rem}.notification-recipient-main>span:not(.notification-status-badge){font-size:.82rem}.notification-recipient-main small{font-size:.7rem;color:var(--muted)}.notification-status-badge{width:max-content;padding:2px 7px;border-radius:999px;background:#eef1f3;color:#58636d;font-size:.65rem;font-weight:900;text-transform:uppercase}.notification-recipient.called .notification-status-badge{background:#e9f3fb;color:var(--ww-blue-dark)}.notification-recipient.messaged .notification-status-badge{background:#e9f6ee;color:#27633f}
.notification-contact-links{display:flex;flex-wrap:wrap;gap:6px}.notification-contact-links .btn{padding:7px 9px;min-height:32px;font-size:.72rem}.no-contact{font-size:.75rem;color:var(--muted)}
.notification-status-form{display:flex;gap:4px}.status-choice{border:1px solid var(--line-dark);border-radius:6px;background:#fff;padding:7px 8px;font-size:.7rem;font-weight:900;cursor:pointer}.status-choice:hover{background:#f3f6f8}.status-choice.called{color:var(--ww-blue-dark)}.status-choice.messaged{color:#27633f}.status-choice.pending{color:#6d747a}
@media(max-width:1050px){.notification-layout{grid-template-columns:1fr}.notification-recipient{grid-template-columns:1fr}.notification-status-form{justify-content:flex-start}}
@media(max-width:620px){.notification-summary{grid-template-columns:1fr 1fr}.picker-head{display:grid}.picker-actions{white-space:normal;justify-content:flex-start}.notification-campaign-card{grid-template-columns:1fr}.notification-campaign-progress{text-align:left;grid-template-columns:auto auto;justify-content:start;gap:6px 10px}.notification-campaign-progress time{grid-column:1/-1}}

/* Operator private file archive */
.storage-example{margin:14px 0 18px;padding:12px 14px;border:1px solid var(--line);border-radius:9px;background:#f7f8f9;overflow-x:auto;line-height:1.8}
.storage-example code{white-space:nowrap;font-size:.78rem}


/* ==========================================================================
   2026-09-10 notification/GIS/storage refinements
   ========================================================================== */
/* Manage Customers import/export buttons: equal, aligned controls. */
.customer-transfer-tools{width:min(780px,100%);max-width:780px}
.customer-transfer-tools .page-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;width:100%;align-items:stretch}
.customer-transfer-tools .page-actions .btn{display:flex;width:100%;min-height:44px;height:100%;align-items:center;justify-content:center;text-align:center;line-height:1.25;padding:9px 12px}
.customer-transfer-date{width:100%;text-align:right}

/* Profile save confirmation lives inside the changed field, then fades away. */
.profile-input-wrap{position:relative;display:block}
.profile-input-wrap input{padding-right:84px}
.profile-updated-flash{position:absolute;right:9px;top:50%;transform:translateY(-50%);padding:3px 7px;border-radius:999px;background:#e7f6ec;color:#24663b;border:1px solid #b9dec5;font-size:.69rem;font-weight:900;pointer-events:none;opacity:1;transition:opacity .35s ease,transform .35s ease}
.profile-updated-flash.is-fading{opacity:0;transform:translateY(-50%) translateX(4px)}
.profile-login-email-note{display:block;margin-top:5px;color:#8a4b00;font-size:.75rem;font-weight:800;line-height:1.35}

/* Customer count summary. */
.customer-count-card{display:flex;align-items:baseline;gap:7px;margin-top:9px;width:max-content;max-width:100%;padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:#f7f9fa;color:var(--muted)}
.customer-count-card strong{font-size:1rem;color:var(--ink)}
.customer-count-card span{font-size:.72rem;font-weight:800}

/* Replies popover close control. */
.discussion-replies-head-actions{display:flex;align-items:center;gap:9px}
.discussion-replies-head-actions form{margin:0}
.replies-close{display:grid;place-items:center;width:28px;height:28px;padding:0;border:1px solid var(--line);border-radius:50%;background:#f6f8f9;color:#4e5961;font-size:20px;line-height:1;cursor:pointer}
.replies-close:hover,.replies-close:focus-visible{background:#eceff1;color:var(--ww-red);outline:none}

/* Water-system tags. These are deliberately soft enough to remain readable in dense reports. */
.tag.system-tag{border:1px solid rgba(0,0,0,.16);font-weight:900;box-shadow:inset 0 0 0 1px rgba(255,255,255,.28)}
.tag.system-pvwc{background:linear-gradient(90deg,#DAEEF3 0 72%,#99CCFF 72% 100%);color:#244d63;border-color:#8fbfcd}
.tag.system-lpwd{background:linear-gradient(90deg,#CCFFCC 0 72%,#66FF66 72% 100%);color:#265126;border-color:#7fd47f}
.tag.system-kwd{background:linear-gradient(90deg,#FF99FF 0 50%,#66FFFF 50% 100%);color:#563b56;border-color:#b768b7}
.tag.system-jnwid{background:linear-gradient(90deg,#FCD5B4 0 78%,#E26B0A 78% 100%);color:#68360c;border-color:#e1aa78}
.tag.system-lrwa{background:linear-gradient(90deg,#F2DCDB 0 78%,#C0504D 78% 100%);color:#663130;border-color:#cfaaa8}
.tag.system-nwd{background:#855723;color:#fff;border-color:#684319}
/* WHWC remains the neutral portal tag until a system color is chosen. */

/* Notification Center GIS selector. */
.notification-gis-tool{margin-top:2px;border:1px solid var(--line);border-radius:9px;background:#fff;overflow:hidden}
.notification-gis-tool>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;cursor:pointer;list-style:none;background:#f6f8f9}
.notification-gis-tool>summary::-webkit-details-marker{display:none}
.notification-gis-tool>summary strong{font-size:.82rem}
.notification-gis-tool>summary span{font-size:.7rem;color:var(--muted);font-weight:700;text-align:right}
.notification-gis-body{padding:10px}
.notification-gis-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:9px}
.notification-gis-actions #notification-gis-status{flex:1 1 220px;font-size:.72rem;color:var(--muted);line-height:1.35}
.notification-gis-map{height:330px;min-height:260px;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#e8ecef}
.notification-gis-map.is-selecting{cursor:crosshair}
.notification-gis-map .mapboxgl-canvas{outline:none}
.notification-gis-tool .fineprint{margin:8px 2px 0;font-size:.68rem;line-height:1.45;color:var(--muted)}
.notification-gis-tool code{font-size:.67rem}

@media(max-width:900px){
  .customer-transfer-tools .page-actions{grid-template-columns:1fr}
  .customer-transfer-date{text-align:left}
}
@media(max-width:620px){
  .notification-gis-map{height:280px}
  .notification-gis-tool>summary{align-items:flex-start;flex-direction:column}
  .notification-gis-tool>summary span{text-align:left}
}

/* Finished Water Loss report */
.finished-report-preview{background:linear-gradient(180deg,#edf6fb,#e5f0f7);color:var(--ww-blue-dark)}
.report-ready-tag{margin-left:5px;background:#e9f6ee;color:#23633a}
.finished-report-notice{display:grid;gap:3px;margin:10px 0 16px;padding:11px 13px;border-left:4px solid var(--ww-blue);background:#f2f7fb;border-radius:7px;font-size:.78rem;color:var(--muted)}
.finished-report-notice strong{color:var(--ww-blue-dark);font-size:.84rem}
.water-report-print-heading{display:none}
.water-report-controls{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);gap:16px 22px;align-items:end;padding:17px 18px;margin-bottom:16px}
.report-control-block{display:grid;gap:7px}.report-control-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:var(--muted)}
.report-range-buttons,.report-view-buttons{display:flex;flex-wrap:wrap;gap:6px}.report-range-buttons button,.report-view-buttons button{border:1px solid var(--line-dark);border-radius:7px;background:#fff;color:#40505c;padding:8px 11px;font:inherit;font-size:.76rem;font-weight:850;cursor:pointer}.report-range-buttons button:hover,.report-view-buttons button:hover{border-color:var(--ww-blue)}.report-range-buttons button.active,.report-view-buttons button.active{background:var(--ww-blue);border-color:var(--ww-blue);color:#fff}
.report-custom-range{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:end}.report-custom-range label{display:grid;gap:5px;font-size:.72rem;font-weight:850;color:#53606a}.report-custom-range input{padding:8px 9px}.report-custom-range .btn{min-height:37px;padding:8px 11px;font-size:.75rem}
.report-view-control{grid-column:1/-1;padding-top:13px;border-top:1px solid var(--line)}
.water-report-status{margin:0 0 12px;color:var(--muted);font-size:.78rem;font-weight:800;text-align:right}
.water-report-summary{--summary-value-font-size:1.02rem;--summary-value-font-weight:700;--summary-value-line-height:1.2;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin-bottom:16px}.water-report-summary>div{display:flex;flex-direction:column;gap:5px;padding:13px 12px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--ww-blue);border-radius:9px;box-shadow:0 3px 12px rgba(18,39,57,.035)}.water-report-summary>div>span:first-child{min-height:2.4em;font-size:.63rem;line-height:1.2;text-transform:uppercase;letter-spacing:.055em;font-weight:900;color:var(--muted)}.water-report-summary>div>strong{margin-top:auto;font-size:var(--summary-value-font-size);line-height:var(--summary-value-line-height);font-weight:var(--summary-value-font-weight);color:var(--ink);white-space:nowrap}.water-report-summary>div.summary-overall-loss{border-color:#efc4c6;border-top-color:var(--ww-red);background:#fff6f6}.water-report-summary>div.summary-overall-loss>span:first-child{color:#8d272d}.water-report-summary>div.summary-overall-loss>strong{color:var(--ww-red);font-size:1.13rem;font-weight:950}
.water-report-chart-panel{padding:18px 20px 14px}.water-report-chart-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:12px}.water-report-chart-head h2{margin:2px 0 0;font-size:1.16rem}.water-report-chart-head .fineprint{margin:3px 0 0;text-align:right}.water-report-canvas-wrap{height:430px;position:relative}.water-report-canvas-wrap canvas{width:100%!important;height:100%!important}.report-chart-note{margin:8px 0 0}
.water-report-data{padding:0;overflow:hidden}.water-report-data>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 18px;cursor:pointer;list-style:none;background:#f8fafb}.water-report-data>summary::-webkit-details-marker{display:none}.water-report-data>summary strong{font-size:.94rem}.water-report-data>summary span{font-size:.72rem;color:var(--muted)}.water-report-data[open]>summary{border-bottom:1px solid var(--line)}.water-report-table-wrap{border:0;border-radius:0;box-shadow:none}.water-report-table{min-width:1420px}.water-report-table th{white-space:normal;line-height:1.25}.water-report-table td{white-space:nowrap;font-variant-numeric:tabular-nums}.water-report-source{margin:-8px 0 22px}.water-report-print-footer{display:none}
.report-data-admin{grid-template-columns:minmax(0,1.05fr) minmax(300px,.65fr)}.report-formula-list{display:grid;grid-template-columns:minmax(170px,1fr) 1fr;gap:0;border:1px solid var(--line);border-radius:8px;overflow:hidden}.report-formula-list span,.report-formula-list code{padding:9px 11px;border-bottom:1px solid var(--line);font-size:.75rem}.report-formula-list span{font-weight:800;background:#f7f9fa}.report-formula-list code{background:#fff}.report-formula-list>*:nth-last-child(-n+2){border-bottom:0}.row-actions{white-space:nowrap}.row-actions .inline{display:inline;margin-left:9px}.danger-link{color:var(--danger)}
@media(max-width:1180px){.water-report-summary{grid-template-columns:repeat(3,1fr)}}
@media(max-width:850px){.water-report-controls{grid-template-columns:1fr}.report-custom-range{grid-template-columns:1fr 1fr}.report-custom-range .btn{grid-column:1/-1}.water-report-summary{grid-template-columns:repeat(2,1fr)}.water-report-chart-head{display:grid}.water-report-chart-head .fineprint{text-align:left}.water-report-canvas-wrap{height:360px}.report-data-admin{grid-template-columns:1fr}}
@media(max-width:520px){.water-report-summary{grid-template-columns:1fr}.water-report-summary strong{white-space:normal}.report-custom-range{grid-template-columns:1fr}.report-range-buttons button,.report-view-buttons button{flex:1 1 42%}.water-report-canvas-wrap{height:320px}}
@media print{
  .site-stripe,.utility-bar,.topbar,.sidebar,.footer,.activity-fab,.no-print,.alert{display:none!important}
  .shell{display:block!important;min-height:0}.content{padding:0!important;max-width:none!important;margin:0!important}.water-report-page-head{display:none!important}
  body{background:#fff!important;color:#000!important}.water-report{width:100%!important}.water-report-print-heading{display:grid!important;text-align:center;gap:4px;margin:0 0 14px;padding-bottom:11px;border-bottom:2px solid #000}.water-report-print-heading strong{font-size:16pt}.water-report-print-heading span{font-size:11pt;font-weight:900}.water-report-print-heading small{font-size:9pt}
  .water-report-status{display:none!important}.water-report-summary{grid-template-columns:repeat(3,1fr)!important;gap:5px!important;margin-bottom:10px!important}.water-report-summary>div{box-shadow:none!important;padding:7px 8px!important;border-color:#999!important}.water-report-summary strong{font-size:9pt!important}.water-report-summary span{font-size:6.5pt!important}
  .water-report-chart-panel{box-shadow:none!important;border:1px solid #999!important;padding:8px!important;margin-bottom:10px!important;break-inside:avoid}.water-report-chart-head{margin-bottom:5px!important}.water-report-chart-head h2{font-size:10pt!important}.water-report-canvas-wrap{height:285px!important}.report-chart-note{display:none!important}
  .water-report-data{display:block!important;box-shadow:none!important;border:0!important;margin:0!important;overflow:visible!important}.water-report-data>summary{display:none!important}.water-report-table-wrap{overflow:visible!important}.water-report-table{min-width:0!important;width:100%!important;font-size:6.8pt!important}.water-report-table th,.water-report-table td{padding:4px 5px!important;font-size:6.8pt!important;white-space:normal!important}.water-report-source{font-size:7pt!important;margin-top:8px!important}.water-report-print-footer{display:block!important;text-align:right;margin-top:8px;font-size:7pt;color:#555}
  @page{size:landscape;margin:.38in}
}


/* Operator Water Loss report import/export tools */
.report-transfer-tools{margin-bottom:16px}
.report-transfer-tools .page-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.report-transfer-tools .page-actions .btn{width:100%;text-align:center}
.report-import-preview{max-height:440px;overflow:auto}
.report-import-preview table{min-width:920px}
.report-import-summary{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.report-import-summary .tag{font-variant-numeric:tabular-nums}
@media(max-width:900px){.report-transfer-tools .page-actions{grid-template-columns:1fr}}

.report-import-actions{margin-top:14px}

/* KWD monthly/year Water Loss report refinement */
.water-report-controls{grid-template-columns:1fr;align-items:start}
.report-period-control,.report-month-control,.report-view-control{grid-column:1/-1}
.report-year-buttons button{min-width:68px}
.report-month-buttons button{min-width:52px}
.report-range-buttons button:disabled{opacity:.34;cursor:not-allowed;background:#f3f5f6;border-color:var(--line);color:#7b858d}
.report-range-buttons button:disabled:hover{border-color:var(--line)}
.report-custom-range{grid-template-columns:auto minmax(150px,210px) minmax(150px,210px) auto;justify-content:start;align-items:end;padding-top:13px;border-top:1px solid var(--line)}
.report-custom-label{align-self:center;margin-right:4px;padding-bottom:10px}
.water-report-table.production-table{min-width:1810px}
@media(max-width:850px){.report-custom-range{grid-template-columns:1fr 1fr}.report-custom-label{grid-column:1/-1;padding-bottom:0}.report-custom-range .btn{grid-column:1/-1}}
@media(max-width:520px){.report-custom-range{grid-template-columns:1fr}.report-month-buttons button{flex:1 1 21%}.report-year-buttons button{flex:1 1 30%}}

/* ========================================================================== 
   2026-09-10 late portal cleanup refinements
   ========================================================================== */

/* More logical visual grouping inside the Board Member / Operator menus. */
.sidebar-group-label{margin:8px 12px 2px;padding-top:7px;color:#a3abb2;font-size:.56rem;font-weight:900;letter-spacing:.085em;text-transform:uppercase;border-top:1px solid rgba(216,222,227,.65)}
.sidebar-label+.sidebar-group-label{margin-top:0;border-top:0;padding-top:1px}

/* Customer Directory: give search most of the available room. */
.customer-directory-filter{display:grid;grid-template-columns:minmax(360px,1fr) minmax(210px,260px) auto;gap:9px;align-items:center}
.customer-directory-filter input{min-width:0}
.customer-directory-filter select{min-width:0;width:100%}
.customer-directory-filter .btn{white-space:nowrap}

/* System tags: light fill + substantial secondary-color border, not split pills. */
.tag.system-tag{border-style:solid;border-width:3px;font-weight:900;box-shadow:none;padding:2px 8px}
.tag.system-pvwc{background:#DAEEF3;color:#244d63;border-color:#99CCFF}
.tag.system-lpwd{background:#CCFFCC;color:#265126;border-color:#66FF66}
.tag.system-kwd{background:#FF99FF;color:#563b56;border-color:#66FFFF}
.tag.system-jnwid{background:#FCD5B4;color:#68360c;border-color:#E26B0A}
.tag.system-lrwa{background:#F2DCDB;color:#663130;border-color:#C0504D}
.tag.system-nwd{background:#D5C4A1;color:#4c341e;border-color:#855723}
.tag.system-whwc{background:#BF84F0;color:#3d165e;border-color:#842BD7}

/* User color coding in Board Member Accounts and Audit Log. */
.user-account-row{border-left:5px solid transparent;padding-left:12px;border-radius:7px;margin:2px 0}
.user-account-row.user-color-clyde,.audit-table tr.user-color-clyde td{background:#fdeaea}
.user-account-row.user-color-clyde{border-left-color:#c82f34}
.user-account-row.user-color-bookkeeper,.audit-table tr.user-color-bookkeeper td{background:#fff7cf}
.user-account-row.user-color-bookkeeper{border-left-color:#d7ac24}
.user-account-row.user-color-pvwc,.audit-table tr.user-color-pvwc td{background:#eef8fa}.user-account-row.user-color-pvwc{border-left-color:#99CCFF}
.user-account-row.user-color-lpwd,.audit-table tr.user-color-lpwd td{background:#efffef}.user-account-row.user-color-lpwd{border-left-color:#66FF66}
.user-account-row.user-color-kwd,.audit-table tr.user-color-kwd td{background:#fff0ff}.user-account-row.user-color-kwd{border-left-color:#66FFFF}
.user-account-row.user-color-jnwid,.audit-table tr.user-color-jnwid td{background:#fff5ec}.user-account-row.user-color-jnwid{border-left-color:#E26B0A}
.user-account-row.user-color-lrwa,.audit-table tr.user-color-lrwa td{background:#fbf2f2}.user-account-row.user-color-lrwa{border-left-color:#C0504D}
.user-account-row.user-color-nwd,.audit-table tr.user-color-nwd td{background:#f4efe6}.user-account-row.user-color-nwd{border-left-color:#855723}
.user-account-row.user-color-whwc,.audit-table tr.user-color-whwc td{background:#f6effc}.user-account-row.user-color-whwc{border-left-color:#842BD7}
.audit-table tr.user-color-clyde td:first-child{border-left:5px solid #c82f34}.audit-table tr.user-color-bookkeeper td:first-child{border-left:5px solid #d7ac24}
.audit-table tr.user-color-pvwc td:first-child{border-left:5px solid #99CCFF}.audit-table tr.user-color-lpwd td:first-child{border-left:5px solid #66FF66}.audit-table tr.user-color-kwd td:first-child{border-left:5px solid #66FFFF}.audit-table tr.user-color-jnwid td:first-child{border-left:5px solid #E26B0A}.audit-table tr.user-color-lrwa td:first-child{border-left:5px solid #C0504D}.audit-table tr.user-color-nwd td:first-child{border-left:5px solid #855723}.audit-table tr.user-color-whwc td:first-child{border-left:5px solid #842BD7}

/* Notification Center construction status. */
.under-construction-note{display:inline-block;margin-left:10px;color:var(--ww-red);font-size:.67rem;line-height:1.25;font-weight:900;letter-spacing:.02em;vertical-align:middle;text-transform:none}

/* Regenerated Shutoff List PDF progress indicator. */
.pdf-cabinet-form{display:inline-flex;margin:0}.pdf-cabinet-button{display:inline-flex;align-items:center;gap:8px}.pdf-cabinet-button:disabled{cursor:progress;opacity:.8}
.mini-processing-spinner{display:inline-block;width:15px;height:15px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:ww-spin .75s linear infinite}
@keyframes ww-spin{to{transform:rotate(360deg)}}

/* O&M system chooser: equal-height cards with centered binder action. */
.om-system-chooser{align-items:stretch}
.om-system-card{display:grid;grid-template-rows:auto 1fr auto;justify-items:center;align-items:start;gap:12px;min-height:150px;height:100%;padding:18px;text-align:center}
.om-system-card .tag{justify-self:center}.om-system-card strong{align-self:center;max-width:210px;font-size:.98rem;line-height:1.35}.om-system-card>span:last-child{justify-self:center;color:var(--ww-blue);font-size:.76rem;font-weight:900;white-space:nowrap}

/* File Cabinet: All Files toggle plus compact list/card viewing modes. */
.file-cabinet-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:14px;flex-wrap:wrap}
.file-view-toggle{display:inline-flex;border:1px solid var(--line-dark);border-radius:8px;overflow:hidden;background:#fff}
.file-view-toggle a{padding:6px 10px;color:#53616c;font-size:.72rem;font-weight:900;border-right:1px solid var(--line-dark)}
.file-view-toggle a:last-child{border-right:0}.file-view-toggle a:hover{text-decoration:none;background:#f3f6f8}.file-view-toggle a.active{background:var(--ww-blue);color:#fff}
.file-view-list{grid-template-columns:1fr;gap:9px}
.file-view-list .file-card{display:grid;grid-template-columns:84px minmax(0,1fr);grid-template-rows:auto;min-height:96px}
.file-view-list .file-preview{height:100%;min-height:96px;border-bottom:0;border-right:1px solid var(--line)}
.file-view-list .file-preview img{height:100%;min-height:96px;object-fit:cover;object-position:center center}.file-view-list .file-type-icon{width:50px;height:50px;border-radius:10px;font-size:.72rem}
.file-view-list .file-card-body{padding:11px 14px}.file-view-list .file-card h3{margin:5px 0 3px}.file-view-list .file-card p{margin-bottom:5px}.file-view-list .file-card-actions{padding-top:7px}

/* Operator Activity Log: compact action column and reduced overall width. */
.activity-sheet{min-width:880px}
.activity-sheet-description{min-width:330px;max-width:520px}
.activity-sheet-actions{width:82px;min-width:82px;display:grid;gap:7px;justify-items:start}
.activity-sheet-actions .tag{font-size:.62rem;padding:2px 6px}
.activity-edit-link{font-size:.72rem;font-weight:900;color:var(--ww-blue);text-decoration:none}.activity-edit-link:hover{text-decoration:underline}

@media(max-width:820px){
  .customer-directory-filter{grid-template-columns:1fr}.customer-directory-filter .btn{width:100%}
  .file-cabinet-heading{align-items:flex-start}.file-cabinet-heading-actions{justify-content:flex-start}
}
@media(max-width:620px){
  .under-construction-note{display:block;margin:5px 0 0}
  .file-view-list .file-card{grid-template-columns:64px minmax(0,1fr)}.file-view-list .file-preview,.file-view-list .file-preview img{min-height:82px}
  .om-system-card{min-height:132px}
}


/* Audit Log row colors - force cell backgrounds so table/hover rules cannot override them. */
.audit-table tbody tr.audit-row > td{transition:background-color .12s ease;border-bottom-color:#d8dde2}
.audit-table tbody tr.audit-row.user-color-clyde > td{background-color:#f9dddd!important}
.audit-table tbody tr.audit-row.user-color-bookkeeper > td{background-color:#fff2ad!important}
.audit-table tbody tr.audit-row.user-color-pvwc > td{background-color:#DAEEF3!important}
.audit-table tbody tr.audit-row.user-color-lpwd > td{background-color:#CCFFCC!important}
.audit-table tbody tr.audit-row.user-color-kwd > td{background-color:#FF99FF!important}
.audit-table tbody tr.audit-row.user-color-jnwid > td{background-color:#FCD5B4!important}
.audit-table tbody tr.audit-row.user-color-lrwa > td{background-color:#F2DCDB!important}
.audit-table tbody tr.audit-row.user-color-nwd > td{background-color:#D5C4A1!important}
.audit-table tbody tr.audit-row.user-color-whwc > td{background-color:#BF84F0!important}
.audit-table tbody tr.audit-row.user-color-clyde > td:first-child{box-shadow:inset 6px 0 #c82f34}
.audit-table tbody tr.audit-row.user-color-bookkeeper > td:first-child{box-shadow:inset 6px 0 #d7ac24}
.audit-table tbody tr.audit-row.user-color-pvwc > td:first-child{box-shadow:inset 6px 0 #99CCFF}
.audit-table tbody tr.audit-row.user-color-lpwd > td:first-child{box-shadow:inset 6px 0 #66FF66}
.audit-table tbody tr.audit-row.user-color-kwd > td:first-child{box-shadow:inset 6px 0 #66FFFF}
.audit-table tbody tr.audit-row.user-color-jnwid > td:first-child{box-shadow:inset 6px 0 #E26B0A}
.audit-table tbody tr.audit-row.user-color-lrwa > td:first-child{box-shadow:inset 6px 0 #C0504D}
.audit-table tbody tr.audit-row.user-color-nwd > td:first-child{box-shadow:inset 6px 0 #855723}
.audit-table tbody tr.audit-row.user-color-whwc > td:first-child{box-shadow:inset 6px 0 #842BD7}
.audit-table tbody tr.audit-row:hover > td{filter:brightness(.985)}

/* Shutoff OCR/autofill review. */
.shutoff-autofill-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:10px 0 0}
.shutoff-ocr-progress{display:inline-flex;align-items:center;gap:8px;font-size:.78rem;color:var(--muted);font-weight:800}
.shutoff-ocr-progress[hidden]{display:none}
.shutoff-ocr-spinner{width:16px;height:16px;border-radius:50%;border:2px solid #d6dde3;border-top-color:var(--ww-blue);animation:ww-spin .8s linear infinite}
.shutoff-ocr-review{margin-top:16px;border:1px solid var(--line-dark);border-radius:10px;overflow:hidden;background:#fff}
.shutoff-ocr-review-head{padding:13px 15px;background:#f6f8fa;border-bottom:1px solid var(--line)}
.shutoff-ocr-review-head strong{display:block;font-size:.92rem}.shutoff-ocr-review-head span{display:block;margin-top:2px;color:var(--muted);font-size:.74rem}
.shutoff-ocr-rows{display:grid}
.shutoff-ocr-row{display:grid;grid-template-columns:minmax(190px,.9fr) minmax(220px,1.1fr) 130px auto;gap:10px;align-items:end;padding:12px 14px;border-bottom:1px solid var(--line)}
.shutoff-ocr-row:last-child{border-bottom:0}.shutoff-ocr-row label{display:grid;gap:5px;font-size:.72rem;font-weight:900;color:#596771}.shutoff-ocr-row .btn{align-self:end}
.shutoff-ocr-review-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;background:#f8fafb;border-top:1px solid var(--line)}
.shutoff-ocr-raw{margin-top:10px;width:100%;min-height:120px;font:12px/1.35 monospace}
@media(max-width:900px){.shutoff-ocr-row{grid-template-columns:1fr 1fr}.shutoff-ocr-row .ocr-amount{grid-column:1}.shutoff-ocr-row .btn{grid-column:2;justify-self:start}}
@media(max-width:620px){.shutoff-ocr-row{grid-template-columns:1fr}.shutoff-ocr-row .ocr-amount,.shutoff-ocr-row .btn{grid-column:1}.shutoff-ocr-review-foot{align-items:stretch;flex-direction:column}.shutoff-ocr-review-foot .btn{width:100%}}


/* 2026-09-11: Activity action colors + Water Loss selector/print refinements. */
.activity-fab,
.activity-patriot-btn{
  background:#3780FF!important;
  color:#fff!important;
  border:3px solid var(--ww-red)!important;
  box-shadow:inset 0 0 0 2px #fff,0 10px 28px rgba(23,79,132,.24)!important;
}
.activity-fab:hover,.activity-patriot-btn:hover{
  background:#2F6FDE!important;
  color:#fff!important;
  border-color:var(--ww-red)!important;
  text-decoration:none;
}
.activity-patriot-btn{padding-left:16px;padding-right:16px}

.water-report-page-head{align-items:flex-end;gap:28px}
.water-report-page-head>div:first-child{min-width:0;flex:1}
.water-report-page-head h1{margin:.22rem 0 .12rem;line-height:1.08}
.water-report-page-head p{margin-top:.18rem}
.water-report-page-head .page-actions{align-self:flex-end;justify-content:flex-end}
.water-report-page-head .page-actions .btn{min-height:40px;display:inline-flex;align-items:center;justify-content:center}
.water-report-controls{gap:14px 18px;padding:18px 20px}
.report-control-block{align-content:start}
.report-control-label{min-height:16px;display:flex;align-items:center}
.report-year-buttons button[data-report-year="all"]{min-width:88px}
.report-month-buttons{align-items:stretch}
.report-month-buttons button{min-width:54px}
.water-report-chart-head{align-items:flex-end}
.water-report-chart-head>div:first-child{min-width:0}
.water-report-chart-head .fineprint{max-width:52%;line-height:1.35}

@media(max-width:850px){
  .water-report-page-head{align-items:flex-start}
  .water-report-page-head .page-actions{align-self:stretch;justify-content:flex-start;width:100%}
  .water-report-page-head .page-actions .btn{flex:1 1 150px}
  .water-report-chart-head .fineprint{max-width:none}
}

@media print{
  html,body,.shell,.content,.water-report,.water-report-chart-panel,.water-report-data,
  .water-report-table-wrap,.water-report-table,.water-report-table thead,
  .water-report-table tbody,.water-report-table tr,.water-report-table th,
  .water-report-table td,.water-report-summary,.water-report-summary>div,
  .water-report-summary>div.summary-overall-loss{
    background:#fff!important;
    background-image:none!important;
  }
  html,body{min-height:0!important;height:auto!important}
  body{print-color-adjust:economy;-webkit-print-color-adjust:economy}
  .water-report{display:block!important;min-height:0!important}
  .water-report-summary>div.summary-overall-loss{border-color:#999!important;border-top-color:#999!important}
  .water-report-summary>div.summary-overall-loss strong{color:#000!important}
  .water-report-data{
    break-before:page!important;
    page-break-before:always!important;
    padding-top:0!important;
  }
  .water-report-data::before{
    content:"REPORT DATA";
    display:block;
    margin:0 0 8px;
    padding:0 0 6px;
    border-bottom:1.5px solid #000;
    color:#000;
    font-size:12pt;
    font-weight:900;
    letter-spacing:.04em;
  }
  .water-report-source{background:#fff!important}
  @page{size:landscape;margin:.42in}
}

/* 2026-09-11 Use Report & Water Loss display refinements */
.water-report-table{min-width:1240px;border-collapse:collapse}
.water-report-table.production-table{min-width:1380px}
.water-report-table th,
.water-report-table td{padding:5px 6px;font-size:.70rem;line-height:1.18}
.water-report-table th{background:#66FFFF!important;color:#000!important;font-weight:900;text-align:center;border-color:#6a7d85}
.water-report-table tbody td:first-child{background:#66FFFF!important;color:#000!important;font-weight:900}
.water-report-table tbody td{border-bottom:1px solid #9ca8ae}
.water-report-table tbody tr:hover td:not(:first-child){background:#f6fbfc}

/* Explain KWD production math without adding another permanent line of copy. */
.summary-produced-formula{position:relative;cursor:help;outline:none}
.production-formula-tooltip{
  position:absolute;
  left:0;
  bottom:29px;
  z-index:30;
  width:100%;
  height:100%;
  min-height:100%;
  box-sizing:border-box;
  padding:19px 10px 5px;
  border:1px solid #8aa1b0;
  border-top:0;
  border-radius:9px;
  background:#fff;
  color:#333333;
  box-shadow:0 5px 18px rgba(19,45,63,.18);
  display:grid;
  align-content:center;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(3px);
  transition:opacity .14s ease,transform .14s ease,visibility .14s ease;
}
/* Let the formula card overlap the summary card label while leaving the actual
   Total Water Produced value visible below. The pointer diamond is intentionally
   removed so it cannot cover long gallon values. */

.production-formula-month{
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:18px;
  padding:0 7px;
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border-radius:9px 9px 0 0;
  background:var(--ww-blue);
  color:#fff!important;
  font:inherit;
  font-size:.76rem!important;
  line-height:18px!important;
  font-weight:850!important;
  letter-spacing:0!important;
  text-transform:none!important;
  white-space:nowrap;
}

.production-formula-lines{display:grid;gap:2px;align-content:center}
.production-formula-well{display:grid;gap:0;justify-content:center}
.production-formula-label{
  text-align:left;
  font-size:.63rem!important;
  line-height:1.05!important;
  letter-spacing:.055em!important;
  text-transform:uppercase!important;
  color:var(--muted)!important;
  font-weight:900!important;
}
.production-formula-value{
  display:grid;
  grid-template-columns:94px max-content 10px;
  column-gap:3px;
  justify-content:center;
  align-items:baseline;
  white-space:nowrap;
  font-size:calc(var(--summary-value-font-size) - 1px);
  line-height:var(--summary-value-line-height);
  font-weight:var(--summary-value-font-weight);
}
.production-formula-value>strong{
  min-width:0;
  text-align:right;
  color:var(--ink)!important;
  font-size:inherit!important;
  line-height:inherit!important;
  font-weight:inherit!important;
}
.production-formula-unit{
  text-align:left;
  color:var(--ink)!important;
  font-size:inherit!important;
  line-height:inherit!important;
  letter-spacing:0!important;
  text-transform:none!important;
  font-weight:inherit!important;
}
.production-formula-value>b{
  text-align:center;
  color:var(--ink)!important;
  font-size:inherit!important;
  line-height:inherit!important;
  font-weight:inherit!important;
}
.production-formula-unavailable-message{display:none;text-align:center;color:#333333!important;font-size:.70rem!important;line-height:1.2!important;text-transform:none!important;letter-spacing:0!important;font-weight:900!important}
.summary-produced-formula:hover .production-formula-tooltip,
.summary-produced-formula:focus .production-formula-tooltip{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.summary-produced-formula.formula-unavailable .production-formula-lines{display:none}
.summary-produced-formula.formula-unavailable .production-formula-unavailable-message{display:block}

@media(max-width:620px){
  .production-formula-tooltip{left:0;right:auto;width:100%;height:100%;min-height:100%}
}

@media print{
  .water-report-table{font-size:6.1pt!important}
  .water-report-table th,.water-report-table td{padding:2.5px 3px!important;font-size:6.1pt!important;line-height:1.08!important}
  .water-report-table th,.water-report-table tbody td:first-child{
    background:#66FFFF!important;
    color:#000!important;
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
  }
  .production-formula-tooltip{display:none!important}
}


/* 2026-09-11 report-data scale + per-system heading colors */
.water-report-table{min-width:1020px}
.water-report-table.production-table{min-width:1140px}
.water-report-table th{font-size:.62rem;line-height:1.08;text-transform:uppercase}
.water-report-table th small{display:block;margin-top:2px;font-size:.54rem;font-weight:800;line-height:1;color:inherit;text-transform:none}

/* Each system can carry its own report-table identity. KWD intentionally uses
   the bright cyan from the source Use Report; other systems are prewired to
   their established lighter portal colors for future finished reports. */
.water-report-table{--report-head-bg:#eef3f6;--report-head-text:#000;--report-head-border:#9aabb6}
.water-report-table.report-system-pvwc{--report-head-bg:#DAEEF3;--report-head-border:#99CCFF}
.water-report-table.report-system-lpwd{--report-head-bg:#CCFFCC;--report-head-border:#66FF66}
.water-report-table.report-system-kwd{--report-head-bg:#66FFFF;--report-head-border:#38caca}
.water-report-table.report-system-jnwid{--report-head-bg:#FCD5B4;--report-head-border:#E26B0A}
.water-report-table.report-system-lrwa{--report-head-bg:#F2DCDB;--report-head-border:#C0504D}
.water-report-table.report-system-nwd{--report-head-bg:#D5C4A1;--report-head-border:#855723}
.water-report-table.report-system-whwc{--report-head-bg:#BF84F0;--report-head-border:#842BD7}
.water-report-table th,
.water-report-table tbody td:first-child{
  background:var(--report-head-bg)!important;
  color:var(--report-head-text)!important;
  border-color:var(--report-head-border)!important;
}

@media print{
  .water-report-table th{font-size:5.4pt!important;line-height:1.02!important}
  .water-report-table th small{font-size:4.7pt!important;margin-top:1px!important}
  .water-report-table th,.water-report-table tbody td:first-child{
    background:var(--report-head-bg)!important;
    color:var(--report-head-text)!important;
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
  }
}


/* 2026-09-11 KWD production hover: borderless body, slight lift, left-aligned values. */
.production-formula-tooltip{
  bottom:31px;
  padding-left:12px;
  padding-right:12px;
  border:0!important;
}
.production-formula-month{
  /* Keep the blue month/year strip; only the popup body border is removed. */
  border:0!important;
}
.production-formula-lines{width:100%}
.production-formula-well{justify-content:stretch;width:100%}
.production-formula-label{text-align:left}
.production-formula-value{
  grid-template-columns:max-content max-content max-content;
  justify-content:start;
  width:100%;
}
.production-formula-value>strong{text-align:left}

/* 2026-09-11 KWD production hover: final position/height/unit alignment refinement. */
.production-formula-tooltip{
  /* Lift the popup 5px from the approved prior position and give the body 10px
     more vertical room without changing the static summary-card geometry. */
  bottom:36px;
  height:calc(100% + 10px);
  min-height:calc(100% + 10px);
}
.production-formula-value{
  /* Slightly more breathing room before "gal". With the value line sharing the
     summary-card typography and left inset, the unit column aligns with the
     Total Water Produced unit below. */
  column-gap:5px;
}

/* 2026-09-11 KWD production hover: make only the "gal" unit 1px larger. */
.production-formula-unit{
  font-size:calc(var(--summary-value-font-size))!important;
}

/* 2026-09-11 KWD production hover: exact result typography match.
   The Well 1 / Well 2 result lines now use the same size, weight, line-height,
   font family, and numeric treatment as the static Total Water Produced value. */
.production-formula-value{
  font-family:inherit;
  font-size:var(--summary-value-font-size)!important;
  font-weight:var(--summary-value-font-weight)!important;
  line-height:var(--summary-value-line-height)!important;
  column-gap:.278em;
  font-variant-numeric:normal;
}
.production-formula-value>strong,
.production-formula-unit,
.production-formula-value>b{
  font-family:inherit!important;
  font-size:inherit!important;
  font-weight:inherit!important;
  line-height:inherit!important;
  letter-spacing:normal!important;
}
/* Keep the popup and the static result on the same left inset so all first
   digits align vertically. */
.production-formula-value{padding:0;margin:0;justify-content:start}
.summary-produced-formula>strong{font-variant-numeric:normal}

/* Water Tank — KWD/PVWC restricted workspace */
.water-tank-page-head{align-items:flex-start;gap:18px}
.water-tank-page-head .page-actions{padding-top:4px}
.water-tank-system-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;margin:0 0 14px}
.water-tank-system-tab{display:flex;align-items:center;gap:10px;min-height:58px;padding:10px 13px;border:3px solid var(--line);border-radius:10px;text-decoration:none;color:var(--text);background:#fff;transition:transform .12s ease,box-shadow .12s ease}
.water-tank-system-tab:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(15,23,42,.08)}
.water-tank-system-tab strong{font-size:.78rem;min-width:45px}
.water-tank-system-tab span{font-size:.78rem;font-weight:800;line-height:1.25}
.water-tank-system-tab.active{box-shadow:0 0 0 2px rgba(21,21,21,.08)}
.water-tank-title-row,.water-tank-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.water-tank-title-row h2,.water-tank-panel-head h2{margin:6px 0 3px}
.water-tank-connection{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;font-size:.69rem;font-weight:900;white-space:nowrap}
.water-tank-connection span{width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px rgba(200,47,52,.12)}
.water-tank-connection.pending{background:#fff4f4;color:var(--ww-red);border:1px solid #efb4b7}
.water-tank-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px}
.water-tank-metrics article{min-height:104px;padding:13px;border:1px solid var(--line);border-top:4px solid #3b82f6;border-radius:9px;background:#fff;display:flex;flex-direction:column}
.water-tank-metrics article>span{font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.035em;color:var(--muted)}
.water-tank-metrics article>strong{margin-top:auto;font-size:1.55rem;line-height:1.05;color:#333333}
.water-tank-metrics article>small{margin-top:5px;font-size:.67rem;color:var(--muted)}
.water-tank-chart-panel{margin-top:14px}
.water-tank-panel-head p{margin:3px 0 0;color:var(--muted);font-size:.78rem}
.water-tank-range-placeholder{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.water-tank-range-placeholder span{padding:6px 8px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--muted);font-size:.66rem;font-weight:800}
.water-tank-range-placeholder span.active{background:#eff6ff;border-color:#99c2ff;color:#1e4f91}
.water-tank-chart-placeholder{position:relative;height:330px;margin-top:14px;border:1px solid #dbe3ec;border-radius:10px;overflow:hidden;background:#fff}
.water-tank-chart-grid{position:absolute;inset:0;background-image:linear-gradient(to right,rgba(100,116,139,.11) 1px,transparent 1px),linear-gradient(to bottom,rgba(100,116,139,.11) 1px,transparent 1px);background-size:12.5% 25%}
.water-tank-chart-message{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(520px,calc(100% - 36px));padding:20px;border-radius:10px;background:rgba(255,255,255,.94);box-shadow:0 8px 28px rgba(15,23,42,.12);text-align:center}
.water-tank-chart-message strong{display:block;font-size:.95rem;color:#16253a}
.water-tank-chart-message span{display:block;margin-top:6px;font-size:.75rem;line-height:1.45;color:var(--muted)}
.water-tank-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}
.water-tank-info-card h2{margin:5px 0 8px}
.water-tank-info-card p{font-size:.78rem;line-height:1.55;color:#3d4956}
.water-tank-definition-list{margin:14px 0 0;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.water-tank-definition-list div{display:grid;grid-template-columns:125px 1fr;border-bottom:1px solid var(--line)}
.water-tank-definition-list div:last-child{border-bottom:0}
.water-tank-definition-list dt,.water-tank-definition-list dd{margin:0;padding:8px 10px;font-size:.72rem}
.water-tank-definition-list dt{font-weight:900;background:#f7f9fb}
.water-tank-definition-list dd{background:#fff}
.water-tank-callout{margin-top:14px;padding:10px 12px;border-left:4px solid var(--ww-red);background:#fff5f5;color:#6b2225;font-size:.72rem;font-weight:800;line-height:1.4}
@media(max-width:900px){.water-tank-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.water-tank-info-grid{grid-template-columns:1fr}.water-tank-title-row,.water-tank-panel-head{display:block}.water-tank-connection{margin-top:8px}.water-tank-range-placeholder{justify-content:flex-start;margin-top:10px}}
@media(max-width:560px){.water-tank-page-head .page-actions{width:100%;padding-top:0}.water-tank-page-head .page-actions .btn{width:100%;justify-content:center}.water-tank-metrics{grid-template-columns:1fr 1fr}.water-tank-chart-placeholder{height:270px}.water-tank-definition-list div{grid-template-columns:105px 1fr}}

/* Tasks & To-Do ---------------------------------------------------------- */
.tasks-page-head{align-items:flex-end}.task-head-stats{display:flex;gap:10px;flex-wrap:wrap}.task-head-stats span{display:flex;align-items:baseline;gap:5px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 11px;font-size:.76rem;color:var(--muted)}.task-head-stats strong{font-size:1.15rem;color:var(--ink)}
.task-create-panel summary{display:flex;justify-content:space-between;gap:14px;align-items:center}.task-create-panel summary span{color:var(--muted);font-size:.76rem;font-weight:600}.task-create-form,.task-edit-form{display:grid;grid-template-columns:minmax(170px,.75fr) minmax(170px,.7fr) minmax(240px,1.4fr) minmax(160px,.65fr);gap:12px;margin-top:16px}.task-create-form .full,.task-edit-form .full{grid-column:1/-1}.task-title-field{grid-column:3}.task-create-form textarea,.task-edit-form textarea{resize:vertical}.task-existing-file{min-width:0}
.task-filter-panel{padding:14px 16px}.task-filter-form{display:grid;grid-template-columns:minmax(230px,1.4fr) minmax(150px,.7fr) minmax(150px,.7fr) auto;gap:12px;align-items:end}.task-filter-actions{display:flex;gap:8px}
.task-list{display:grid;gap:10px}.task-card{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);overflow:hidden}.task-card.task-completed{background:#fbfdfb}.task-card.task-overdue{border-left:5px solid #c82f34}.task-card-main{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch}.task-open-button{appearance:none;border:0;background:transparent;text-align:left;padding:13px 15px;display:grid;grid-template-columns:22px minmax(0,1fr) 18px;gap:8px;align-items:center;color:inherit;cursor:pointer;width:100%}.task-open-button:hover{background:#f7fafc}.task-type-mark{font-size:1.05rem;font-weight:900;color:var(--ww-blue-dark);text-align:center}.task-main-copy{min-width:0}.task-title-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.task-title-line strong{font-size:.96rem}.task-kind{font-size:.67rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:900}.task-meta{display:flex;gap:12px;flex-wrap:wrap;margin-top:5px;color:var(--muted);font-size:.7rem}.task-done-by{color:#2c6c3c}.task-due-overdue{color:#b42328;font-weight:900}.task-chevron{font-size:1.1rem;color:var(--muted);transition:transform .15s}.task-open-button[aria-expanded="true"] .task-chevron{transform:rotate(180deg)}.task-check-action{display:flex;align-items:center;padding:8px 12px 8px 6px}.task-complete-button{border:1px solid #8eb79a;background:#eff9f1;color:#246336;border-radius:9px;padding:8px 10px;font-weight:900;cursor:pointer;white-space:nowrap}.task-complete-button:hover{background:#e2f4e6}.task-details{border-top:1px solid var(--line);padding:15px 18px 17px;background:#fcfdfe}.task-detail-copy{white-space:normal;line-height:1.55;font-size:.86rem}.task-no-details{color:var(--muted);font-style:italic;margin:0}.task-detail-meta{display:flex;gap:16px;flex-wrap:wrap;margin-top:12px;color:var(--muted);font-size:.7rem}.task-attachments{margin-top:15px}.task-attachments h3{font-size:.82rem;margin:0 0 8px}.task-file-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 0;border-top:1px solid #e8eef2}.task-file-row small{display:block;color:var(--muted);font-size:.68rem;margin-top:2px}.task-file-actions{display:flex;gap:10px;align-items:center;font-size:.74rem;font-weight:900}.task-operator-edit{margin-top:16px;border-top:1px solid var(--line);padding-top:10px}.task-operator-edit>summary{cursor:pointer;font-size:.75rem;font-weight:900;color:var(--ww-blue-dark)}.task-edit-form{grid-template-columns:180px 180px minmax(260px,1fr);margin-top:12px}.task-edit-actions{display:flex;gap:8px}.task-delete-form{margin-top:8px}
@media(max-width:900px){.task-create-form{grid-template-columns:1fr 1fr}.task-create-form .task-title-field{grid-column:1/-1}.task-filter-form{grid-template-columns:1fr 1fr}.task-filter-actions{align-self:end}.task-edit-form{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.tasks-page-head{align-items:stretch}.task-head-stats{width:100%}.task-create-panel summary{display:block}.task-create-panel summary span{display:block;margin-top:4px}.task-create-form,.task-edit-form,.task-filter-form{grid-template-columns:1fr}.task-create-form .task-title-field,.task-create-form .full,.task-edit-form .full{grid-column:1}.task-filter-actions .btn{flex:1}.task-card-main{grid-template-columns:1fr}.task-check-action{padding:0 14px 12px 45px}.task-complete-button{width:100%}.task-file-row{grid-template-columns:42px minmax(0,1fr)}.task-file-actions{grid-column:2;flex-wrap:wrap}.task-title-line{gap:6px}}

/* 2026-09-11: combine Board Discussion + Tasks and add field-friendly task entry. */
.collaboration-switcher{display:flex;gap:6px;align-items:center;margin:-5px 0 16px;padding:5px;background:#eef3f6;border:1px solid var(--line);border-radius:10px;width:max-content;max-width:100%}
.collaboration-switcher a{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:8px 14px;border-radius:7px;color:#50606c;font-size:.78rem;font-weight:900;white-space:nowrap}
.collaboration-switcher a:hover{text-decoration:none;background:#fff;color:var(--ww-blue-dark)}
.collaboration-switcher a.active{background:#3780FF;color:#fff;box-shadow:0 2px 8px rgba(23,79,132,.16)}
.collaboration-count{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:rgba(255,255,255,.2);font-size:.65rem;line-height:1}
.collaboration-switcher a:not(.active) .collaboration-count{background:#dbe5ec;color:#344755}
.task-page-actions{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.task-create-form>label,.task-edit-form>label{display:grid;gap:5px;align-content:start;font-size:.77rem;font-weight:900;color:#596771}
.task-file-category-field,.task-existing-file-field{grid-template-rows:minmax(38px,auto) 42px}
.task-file-category-field select,.task-existing-file-field select{align-self:end;height:42px}
.task-completed-actions{display:grid;gap:6px;justify-items:end;min-width:145px}.task-completed-actions form{margin:0}
.task-activity-linked{color:#2c6c3c;font-weight:900}
.task-fab{position:fixed!important;inset:auto 18px 18px auto!important;z-index:65;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:48px;padding:0 17px;border-radius:999px;background:#3780FF!important;color:#fff!important;border:3px solid var(--ww-red)!important;box-shadow:inset 0 0 0 2px #fff,0 10px 28px rgba(23,79,132,.24)!important;font-size:.84rem;font-weight:900;line-height:1;white-space:nowrap}.task-fab:hover{text-decoration:none;background:#2F6FDE!important;color:#fff}.task-fab span{font-size:1.25rem;line-height:1}
.task-patriot-btn{background:#3780FF!important;color:#fff!important;border:3px solid var(--ww-red)!important;box-shadow:inset 0 0 0 2px #fff!important}.task-patriot-btn:hover{background:#2F6FDE!important;color:#fff!important;border-color:var(--ww-red)!important}
.task-field-entry-panel{max-width:920px}.task-mobile-entry-form{display:grid;gap:14px}.task-mobile-entry-form>label,.task-mobile-top-row label,.task-file-option-grid label{display:grid;gap:6px;font-size:.86rem;font-weight:800}.task-mobile-top-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.task-mobile-title input{font-size:1rem;padding:12px}.task-mobile-details textarea{font-size:1rem;line-height:1.5}.task-system-picker{margin:0}.task-file-options{margin-top:2px}.task-file-option-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:12px;padding:0 14px 14px}.task-file-option-grid .full{grid-column:1/-1}.task-file-option-grid .task-file-category-field,.task-file-option-grid .task-existing-file-field{grid-template-rows:minmax(42px,auto) 42px}.task-file-option-grid select{height:42px}
@media(max-width:900px){.task-fab{inset:auto 15px 72px auto!important}.task-page-actions{width:100%;justify-content:flex-start}.collaboration-switcher{width:100%}.collaboration-switcher a{flex:1}.task-completed-actions{justify-items:stretch;min-width:0}}
@media(max-width:650px){.collaboration-switcher{display:grid;grid-template-columns:1fr 1fr}.collaboration-switcher a{padding:8px 7px;font-size:.73rem}.task-mobile-top-row,.task-file-option-grid{grid-template-columns:1fr}.task-file-option-grid .full{grid-column:1}.task-file-category-field,.task-existing-file-field,.task-file-option-grid .task-file-category-field,.task-file-option-grid .task-existing-file-field{grid-template-rows:auto 42px}.task-check-action{padding-left:14px}.task-completed-actions{width:100%;grid-template-columns:1fr auto;align-items:center}.task-completed-actions .btn{width:100%}}
.task-field-caption{display:flex;align-items:flex-end;gap:4px;min-height:38px;line-height:1.2}.task-field-caption .hint{font-weight:600}
@media(max-width:650px){.task-field-caption{min-height:0;align-items:baseline}}

/* --------------------------------------------------------------------------
   O&M Manual — digital binder gallery / viewer
   -------------------------------------------------------------------------- */
.om-manual-page-head{align-items:flex-end}.om-head-actions{display:grid;justify-items:end;gap:9px;min-width:min(100%,520px)}.om-toolbar-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.om-toolbar-actions .btn{min-height:38px}.om-archive-button{display:inline-flex;align-items:center;gap:7px}.om-archive-spinner{display:none;width:13px;height:13px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:spin .75s linear infinite}.om-archive-button.is-preparing .om-archive-spinner{display:inline-block}.om-binder-gallery{grid-template-columns:190px minmax(0,1fr)}.om-tab-summary{display:grid;place-items:center;padding:13px 8px;margin-bottom:6px;border:1px solid var(--line);border-radius:10px;background:#fff}.om-tab-summary strong{font-size:1.35rem;color:var(--ww-blue-dark)}.om-tab-summary span{font-size:.66rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:900}.om-cover-stats{display:flex;gap:10px;flex-wrap:wrap;margin-top:17px}.om-cover-stats span{padding:7px 10px;border:1px solid #d7e1e7;border-radius:8px;background:#fff;font-size:.72rem;color:#52616c}.om-cover-stats b{color:var(--ww-blue-dark);font-size:.9rem}.om-gallery-section{overflow:visible}.om-manual-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;margin-top:17px}.om-manual-card{position:relative;min-width:0;background:#fff;border:1px solid #d5dde3;border-radius:10px;box-shadow:0 5px 15px rgba(24,49,67,.08);overflow:hidden;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.om-manual-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(24,49,67,.14);border-color:#aebcc6}.om-manual-card.is-dragging{opacity:.45;transform:scale(.985)}.om-manual-card.is-drag-target{box-shadow:0 0 0 3px rgba(59,130,246,.22)}.om-manual-thumb{position:relative;height:245px;display:grid;place-items:center;overflow:hidden;background:#e8edf1;border-bottom:1px solid #d5dde3;cursor:pointer}.om-manual-thumb:focus{outline:3px solid rgba(59,130,246,.35);outline-offset:-3px}.om-manual-thumb img{display:block;width:100%;height:100%;object-fit:contain;object-position:center center;background:#f7f8f9}.om-manual-thumb iframe{width:138%;height:138%;border:0;pointer-events:none;transform:scale(.73);transform-origin:center;background:#fff}.om-page-code{position:absolute;z-index:3;left:8px;top:8px;padding:4px 7px;border-radius:5px;background:rgba(18,34,47,.88);color:#fff;font-size:.64rem;font-weight:950;letter-spacing:.055em;box-shadow:0 2px 8px rgba(0,0,0,.16)}.om-docx-paper{position:absolute;inset:12px 17px;padding:26px 15px 16px;background:#fff;border:1px solid #cdd7df;box-shadow:0 4px 14px rgba(0,0,0,.12);overflow:hidden;color:#1e2932;text-align:left}.om-docx-paper:after{content:"";position:absolute;left:0;right:0;bottom:0;height:34px;background:linear-gradient(transparent,#fff)}.om-docx-ribbon{position:absolute;top:0;left:0;right:0;padding:5px 8px;background:#2b579a;color:#fff;font-size:.55rem;text-transform:uppercase;letter-spacing:.06em;font-weight:900}.om-docx-paper p{margin:0;font:6.7px/1.45 Arial,sans-serif;color:#29343c;white-space:normal}.om-generic-paper{width:78%;height:82%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:18px;background:#fff;border:1px solid #ced8df;box-shadow:0 4px 14px rgba(0,0,0,.11);text-align:center}.om-generic-paper b{font-size:.68rem;color:#44545f}.om-generic-paper small{max-width:100%;font-size:.58rem;color:#74818a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.om-manual-card-body{padding:11px 12px 12px}.om-manual-card-kicker{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:.62rem;font-weight:900;color:#697782;text-transform:uppercase;letter-spacing:.04em}.om-manual-card-kicker span:first-child{color:var(--ww-blue-dark)}.om-manual-card h3{margin:6px 0 4px;font-size:.86rem;line-height:1.28}.om-manual-card p{margin:0 0 6px;color:#64727c;font-size:.69rem;line-height:1.4}.om-manual-card small{display:block;color:#75828b;font-size:.6rem;line-height:1.35;overflow-wrap:anywhere}.om-manual-card-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:9px;padding-top:8px;border-top:1px solid #edf1f3;font-size:.68rem;font-weight:900}.om-order-controls{display:flex;align-items:center;gap:5px;margin-top:9px;padding:6px;border:1px dashed #c6d2da;border-radius:7px;background:#f8fafb;color:#6b7881;font-size:.6rem}.om-order-controls form{margin:0}.om-order-controls button{width:27px;height:25px;padding:0;border:1px solid #c6d2da;border-radius:5px;background:#fff;color:#24333e;font-weight:900;cursor:pointer}.om-drag-handle{font-size:.95rem;line-height:1;cursor:grab;color:#6d7a84}.om-card-edit{display:grid;gap:8px;margin-top:9px;padding-top:9px;border-top:1px solid #dfe6eb}.om-card-edit label{font-size:.66rem}.om-card-edit .two{gap:7px}.om-card-edit-actions{display:flex;gap:6px}.om-unfiled{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;background:#fff9e7;border:1px solid #ead999;border-left:5px solid #c99616;border-radius:10px}.om-unfiled h2{margin:2px 0 5px;font-size:1rem}.om-unfiled p{margin:0;color:#73662f;font-size:.75rem;max-width:760px}.om-add-doc{background:#f9fbfc;border:1px solid #dde5ea;border-radius:9px;padding:0;margin-top:16px}.om-add-doc>summary{padding:11px 13px}.om-add-grid{padding:0 12px 12px}.om-add-grid form{background:#fff}.om-add-grid select{max-width:100%}

.om-viewer[hidden]{display:none!important}.om-viewer{position:fixed;z-index:1000;inset:0;background:rgba(8,18,26,.92);padding:16px;display:grid;place-items:center}.om-viewer-shell{width:min(1260px,100%);height:min(94vh,980px);display:grid;grid-template-rows:auto auto minmax(0,1fr);background:#17242e;border-radius:12px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.48)}.om-viewer-head{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:10px 14px;background:#0e1a23;color:#fff;border-top:5px solid var(--ww-blue)}.om-viewer-head>div{display:grid;grid-template-columns:auto 1fr;gap:1px 10px;min-width:0}.om-viewer-head span{grid-row:1/3;align-self:center;padding:5px 7px;border-radius:5px;background:#243746;font-size:.68rem;font-weight:950;letter-spacing:.05em}.om-viewer-head strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.94rem}.om-viewer-head small{color:#b7c5cf;font-size:.65rem}.om-viewer-close{width:34px;height:34px;border:0;border-radius:50%;background:#293c49;color:#fff;font-size:1.35rem;cursor:pointer}.om-viewer-toolbar{display:flex;align-items:center;justify-content:center;gap:8px;padding:7px 10px;background:#1f303c;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.08);color:#fff}.om-viewer-toolbar button,.om-viewer-toolbar a{padding:6px 9px;border:1px solid #506270;border-radius:6px;background:#263a48;color:#fff;font-size:.68rem;font-weight:850;cursor:pointer;text-decoration:none}.om-viewer-toolbar span{min-width:70px;text-align:center;font-size:.66rem;color:#d3dde3}.om-viewer-stage{position:relative;min-height:0;display:grid;place-items:center;background:#374650;overflow:hidden;touch-action:pan-y}.om-viewer-stage iframe{width:100%;height:100%;border:0;background:#fff}.om-viewer-stage>img{max-width:100%;max-height:100%;object-fit:contain;background:#fff;box-shadow:0 6px 28px rgba(0,0,0,.35)}.om-viewer-docx{width:min(820px,92%);height:90%;overflow:auto;padding:48px 56px;background:#fff;color:#1d2730;box-shadow:0 8px 30px rgba(0,0,0,.35);font:14px/1.65 Georgia,serif;white-space:pre-wrap}.om-viewer-fallback{display:grid;place-items:center;gap:14px;width:min(540px,88%);padding:45px 30px;background:#fff;border-radius:9px;text-align:center}.om-viewer-fallback .file-type-icon{width:92px;height:92px}.om-viewer-fallback p{margin:0;color:#61717d}.om-viewer-fallback a{font-weight:900}.om-viewer.is-loading .om-viewer-stage:after{content:"Loading document…";position:absolute;padding:8px 11px;border-radius:7px;background:rgba(8,18,26,.78);color:#fff;font-size:.7rem;font-weight:850}.om-viewer-turn{position:absolute;z-index:2;top:15%;bottom:15%;width:44px;border:0;background:transparent;color:rgba(255,255,255,.65);font-size:2rem;cursor:pointer}.om-viewer-turn:hover{background:rgba(0,0,0,.12);color:#fff}.om-viewer-turn.prev{left:0}.om-viewer-turn.next{right:0}

@media(max-width:1050px){.om-binder-gallery{grid-template-columns:1fr}.om-binder-gallery>.om-tabs{display:flex;overflow-x:auto;gap:6px;padding-bottom:5px;position:static}.om-binder-gallery>.om-tabs .om-tab-summary{display:none}.om-binder-gallery>.om-tabs a{flex:0 0 auto;min-width:120px}.om-manual-page-head{align-items:stretch}.om-head-actions{justify-items:stretch;min-width:0}.om-toolbar-actions{justify-content:flex-start}}
@media(max-width:700px){.om-manual-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.om-manual-thumb{height:210px}.om-manual-card-body{padding:9px}.om-manual-card h3{font-size:.78rem}.om-manual-card small{font-size:.57rem}.om-order-controls>span:last-child{display:none}.om-cover{padding:30px 25px}.om-viewer{padding:0}.om-viewer-shell{width:100%;height:100dvh;max-height:none;border-radius:0}.om-viewer-head{padding:8px 10px}.om-viewer-toolbar{justify-content:flex-start;overflow-x:auto;white-space:nowrap}.om-viewer-toolbar span{order:-1}.om-viewer-stage{touch-action:pan-y}.om-viewer-docx{width:100%;height:100%;padding:30px 24px}.om-unfiled{display:grid}.om-add-grid{padding:0 9px 9px}.om-add-grid form{padding:11px}.om-toolbar-actions .btn{flex:1 1 auto;text-align:center}}
@media(max-width:430px){.om-manual-gallery{grid-template-columns:1fr 1fr}.om-manual-thumb{height:175px}.om-page-code{left:6px;top:6px}.om-manual-card-kicker{font-size:.56rem}.om-manual-card-actions{gap:7px}.om-order-controls{padding:4px}.om-order-controls button{width:25px;height:24px}.om-viewer-head strong{font-size:.82rem}.om-viewer-head small{font-size:.6rem}.om-viewer-toolbar button,.om-viewer-toolbar a{font-size:.62rem}.om-viewer-turn{width:34px;font-size:1.55rem}}

@media print{.om-manual-page-head .om-head-actions,.om-viewer,.om-order-controls,.om-card-edit,.om-unfiled{display:none!important}.om-manual-gallery{grid-template-columns:repeat(3,1fr)}.om-manual-card{break-inside:avoid;box-shadow:none}.om-manual-thumb{height:185px}}
.file-preview{position:relative}.file-preview .file-pdf-preview,.file-preview .file-docx-preview{background:#dfe6eb}.file-pdf-preview{width:138%;height:138%;border:0;pointer-events:none;transform:scale(.73);transform-origin:center;background:#fff}.file-preview .file-docx-preview{inset:9px 18px}.file-preview .file-docx-preview p{font-size:6.4px}

/* O&M Manual clean binder presentation — 2026-09-12 */
.om-clean-binder-section .om-clean-section-head{display:block;border-bottom:2px solid #d8e2e8;padding-bottom:14px;margin-bottom:18px}
.om-clean-binder-section .om-clean-section-head h2{font-size:1.5rem;margin:2px 0 7px}
.om-clean-binder-section .om-clean-section-head p{max-width:920px;font-size:.9rem;line-height:1.5}
.om-page-gallery{display:grid!important;grid-template-columns:1fr!important;gap:24px!important;margin-top:18px!important;justify-items:center}
.om-page-card{width:min(100%,880px);border:0!important;border-radius:6px!important;box-shadow:0 8px 26px rgba(25,45,60,.13)!important;background:#eef2f5!important;overflow:hidden!important;transform:none!important}
.om-page-card:hover{transform:none!important;box-shadow:0 12px 32px rgba(25,45,60,.18)!important}
.om-full-page-preview{width:100%;height:auto!important;min-height:560px;aspect-ratio:8.5/11;background:#dfe5e9!important;border:0!important;cursor:pointer}
.om-full-page-preview img{width:100%;height:100%;object-fit:contain;object-position:center;background:#fff}
.om-full-page-preview iframe{position:absolute;inset:0;width:100%!important;height:100%!important;transform:none!important;transform-origin:initial!important;border:0;background:#fff;pointer-events:none}
.om-docx-full-preview{position:absolute!important;inset:3.5% 5%!important;padding:6% 7%!important;background:#fff!important;border:1px solid #cad4db!important;box-shadow:0 4px 14px rgba(0,0,0,.1)!important;overflow:hidden!important}
.om-docx-full-preview p{font:12px/1.55 Georgia,serif!important;color:#1f2930!important;margin:0!important;text-align:left}
.om-generic-full-preview{width:84%!important;height:88%!important;background:#fff!important}
.om-section-admin{margin-top:18px;border:1px solid #d4dee5;border-radius:9px;background:#f7fafb}
.om-section-admin>summary{cursor:pointer;padding:11px 13px;font-size:.75rem;font-weight:900;color:var(--ww-blue-dark)}
.om-section-admin-list{display:grid;border-top:1px solid #dce5ea;background:#fff}
.om-section-admin-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:9px 12px;border-bottom:1px solid #e8eef2}
.om-section-admin-row:last-child{border-bottom:0}.om-section-admin-row strong{display:block;font-size:.76rem}.om-section-admin-row small{display:block;margin-top:2px;color:var(--muted);font-size:.62rem;overflow-wrap:anywhere}
.om-section-admin-actions{display:flex;align-items:center;gap:5px;flex-wrap:wrap;justify-content:flex-end}.om-section-admin-actions form{margin:0}.om-admin-move-form{display:flex;align-items:center;gap:5px}.om-admin-move-form select{width:auto;min-width:110px;height:31px;padding:3px 25px 3px 6px;font-size:.65rem}
.om-section-admin .om-add-doc{margin:10px;border:0;background:#fff}
.om-clean-viewer-head>div{display:grid!important;grid-template-columns:1fr!important;gap:1px!important}.om-clean-viewer-head strong{font-size:.95rem!important}.om-clean-viewer-head small{font-size:.65rem!important;color:#b7c5cf!important}.om-clean-viewer-head span{display:none!important}
.om-viewer-shell{grid-template-rows:auto auto minmax(0,1fr)}
.om-viewer-stage{background:#303d46}.om-viewer-stage iframe{background:#fff}.om-viewer-stage>img{max-width:calc(100% - 40px);max-height:calc(100% - 30px)}
.graph-readonly-row{cursor:default;opacity:.86}.graph-delete-form{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
@media(max-width:700px){.om-clean-binder-section{padding:18px 10px 16px 18px}.om-full-page-preview{min-height:0;aspect-ratio:8.5/11}.om-page-gallery{gap:14px!important}.om-section-admin-row{grid-template-columns:1fr}.om-section-admin-actions{justify-content:flex-start}.om-viewer-stage>img{max-width:100%;max-height:100%}}
@media print{.om-section-admin{display:none!important}.om-page-gallery{grid-template-columns:1fr!important}.om-page-card{width:100%;box-shadow:none!important;break-inside:avoid}.om-full-page-preview{min-height:0}}

/* Tasks: type guidance + Activity Log category handoff (2026-09-12) */
.task-type-guide{margin:0 0 14px;border:1px solid #dbe3ee;border-radius:12px;background:#f8fafc;overflow:hidden}
.task-type-guide>summary{cursor:pointer;padding:10px 13px;font-weight:700;color:#1f3f70;list-style:none}
.task-type-guide>summary::-webkit-details-marker{display:none}
.task-type-guide>summary::after{content:'⌄';float:right;color:#64748b}
.task-type-guide[open]>summary::after{content:'⌃'}
.task-type-guide-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;padding:0 12px 12px}
.task-type-guide-grid>div{background:#fff;border:1px solid #e5e7eb;border-radius:9px;padding:9px 10px;min-width:0}
.task-type-guide-grid strong{display:block;color:#111827;margin-bottom:2px}
.task-type-guide-grid span{display:block;color:#526071;font-size:.88rem;line-height:1.35}
.task-type-guide-field{margin-bottom:12px}
.task-type-hint{display:block;margin-top:4px;line-height:1.25}
.task-activity-send-form{display:flex;align-items:flex-end;gap:7px;flex-wrap:wrap}
.task-activity-send-form label{display:grid;gap:3px;margin:0;min-width:170px}
.task-activity-send-form label>span{font-size:.72rem;font-weight:700;color:#64748b;line-height:1}
.task-activity-send-form select{height:32px;padding:4px 28px 4px 8px;font-size:.84rem;min-width:170px}
.task-activity-send-form .btn{min-height:32px;white-space:nowrap}
@media (max-width:700px){
  .task-type-guide-grid{grid-template-columns:1fr;gap:6px}
  .task-activity-send-form{width:100%;display:grid;grid-template-columns:1fr auto;align-items:end}
  .task-activity-send-form label{min-width:0}
  .task-activity-send-form select{width:100%;min-width:0}
}

/* File Cabinet universal thumbnails + denser 4-column desktop layout (2026-09-12). */
.file-card-grid.file-view-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}
.file-view-cards .file-card{grid-template-rows:150px 1fr;border-radius:10px}
.file-view-cards .file-preview{height:150px;background:#eef2f4}
.file-view-cards .file-preview img{width:100%;height:100%;object-fit:contain;object-position:center center;background:#fff;padding:4px;box-sizing:border-box}
.file-view-cards .file-card-body{padding:11px 12px}
.file-view-cards .file-card h3{margin:6px 0 4px;font-size:.91rem;line-height:1.25}
.file-view-cards .file-card p{font-size:.73rem;line-height:1.35;margin-bottom:5px}
.file-view-cards .file-card small{font-size:.62rem;line-height:1.3}
.file-view-cards .file-card-actions{padding-top:8px;gap:9px;font-size:.7rem}
.file-content-preview{display:block;width:100%;height:100%;border:0;pointer-events:none;background:#eef2f4}
.file-view-cards .file-pdf-preview{width:128%;height:128%;transform:scale(.78);transform-origin:center center}

/* List mode keeps the same live thumbnails but compresses each row. */
.file-view-list{gap:6px}
.file-view-list .file-card{grid-template-columns:68px minmax(0,1fr);min-height:72px;border-radius:9px}
.file-view-list .file-preview{height:72px;min-height:72px;background:#eef2f4}
.file-view-list .file-preview img{height:72px;min-height:72px;object-fit:contain;object-position:center center;background:#fff;padding:2px;box-sizing:border-box}
.file-view-list .file-pdf-preview{width:165%;height:165%;transform:scale(.61);transform-origin:center center}
.file-view-list .file-card-body{padding:7px 10px}
.file-view-list .file-card-tags{font-size:.61rem;gap:5px}
.file-view-list .file-card h3{margin:3px 0 2px;font-size:.84rem;line-height:1.2}
.file-view-list .file-card p{margin:0 0 2px;font-size:.69rem;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.file-view-list .file-card small{font-size:.59rem;line-height:1.25;display:inline;margin-right:8px}
.file-view-list .file-card-actions{padding-top:4px;gap:8px;font-size:.67rem}

/* Authenticated thumbnail document renderer. */
.cabinet-thumb-frame{margin:0!important;padding:0!important;min-height:100vh;background:#e9eef1;overflow:hidden;font-family:Arial,Helvetica,sans-serif}
.cabinet-thumb-frame .cabinet-thumb-paper{position:absolute;inset:7px;background:#fff;border:1px solid #cbd5dc;box-shadow:0 2px 8px rgba(23,47,64,.12);overflow:hidden;padding:24px 9px 8px;box-sizing:border-box}
.cabinet-thumb-ribbon{position:absolute;top:0;left:0;right:0;height:18px;display:flex;align-items:center;padding:0 7px;color:#fff;font-size:7px;font-weight:900;letter-spacing:.06em;background:#2b579a}
.cabinet-thumb-sheet .cabinet-thumb-ribbon,.cabinet-thumb-sheet~.cabinet-thumb-ribbon{background:#217346}
.cabinet-thumb-slide .cabinet-thumb-ribbon{background:#d24726}
.cabinet-thumb-text .cabinet-thumb-ribbon,.cabinet-thumb-file .cabinet-thumb-ribbon{background:#596a76}
.cabinet-thumb-text{font:7px/1.35 Arial,Helvetica,sans-serif;color:#2b353c;white-space:normal;word-break:break-word}
.cabinet-thumb-slide-text{height:100%;display:flex;align-items:center;justify-content:center;padding:5px;font-size:9px;line-height:1.28;font-weight:700;text-align:center;color:#263238;box-sizing:border-box}
.cabinet-thumb-sheet{width:100%;border-collapse:collapse;table-layout:fixed;font-size:6px;color:#22313a}
.cabinet-thumb-sheet td{border:1px solid #ccd8df;padding:2px 3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;height:11px}
.cabinet-thumb-sheet tr:first-child td{background:#e8f3eb;font-weight:700}
.cabinet-thumb-fallback{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;padding:8px;box-sizing:border-box;color:#475761}
.cabinet-thumb-fallback strong{font-size:9px;line-height:1.25;max-width:100%;overflow:hidden;text-overflow:ellipsis}.cabinet-thumb-fallback span{font-size:7px;color:#77858d;text-transform:uppercase;letter-spacing:.05em}

@media(max-width:1080px){.file-card-grid.file-view-cards{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}}
@media(max-width:760px){.file-card-grid.file-view-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.file-card-grid.file-view-cards{grid-template-columns:1fr}.file-view-cards .file-preview{height:190px}.file-view-cards .file-card{grid-template-rows:190px 1fr}.file-view-list .file-card{grid-template-columns:58px minmax(0,1fr)}.file-view-list .file-preview{height:66px;min-height:66px}}


/* 2026-09-13: Wagner Waterworks color refresh, O&M system themes, and safer file drop zones. */
/* Primary action blue comes from the Wagner Waterworks palette. */
.btn-primary,
.file-view-toggle a.active{background:#3780FF;border-color:#3780FF;color:#fff}
.btn-primary:hover{background:#2F6FDE;border-color:#2F6FDE}
.activity-fab,.activity-patriot-btn,.task-fab,.task-patriot-btn{background:#3780FF!important}
.activity-fab:hover,.activity-patriot-btn:hover,.task-fab:hover,.task-patriot-btn:hover{background:#2F6FDE!important}
.collaboration-switcher a.active{background:#3780FF;color:#fff}

/* O&M Manual: each system uses its established light/dark pair. */
.om-system-theme-pvwc{--om-primary:#DAEEF3;--om-secondary:#99CCFF;--om-secondary-text:#333333}
.om-system-theme-lpwd{--om-primary:#CCFFCC;--om-secondary:#66FF66;--om-secondary-text:#333333}
.om-system-theme-kwd{--om-primary:#FF99FF;--om-secondary:#66FFFF;--om-secondary-text:#333333}
.om-system-theme-jnwid{--om-primary:#FCD5B4;--om-secondary:#E26B0A;--om-secondary-text:#ffffff}
.om-system-theme-lrwa{--om-primary:#F2DCDB;--om-secondary:#C0504D;--om-secondary-text:#ffffff}
.om-system-theme-nwd{--om-primary:#D5C4A1;--om-secondary:#855723;--om-secondary-text:#ffffff}
.om-system-theme-whwc{--om-primary:#BF84F0;--om-secondary:#842BD7;--om-secondary-text:#ffffff}

.om-system-card[class*="om-system-theme-"]{border-top:5px solid var(--om-secondary);background:linear-gradient(180deg,var(--om-primary),#fff 52%)}
.om-system-card[class*="om-system-theme-"] .tag{background:var(--om-secondary);border:1px solid var(--om-secondary);color:var(--om-secondary-text)}
.om-binder[class*="om-system-theme-"] .om-tabs{background:var(--om-primary);border:3px solid var(--om-secondary);box-shadow:var(--shadow)}
.om-binder[class*="om-system-theme-"] .om-tabs a{color:#333333;border-bottom-color:rgba(51,51,51,.13)}
.om-binder[class*="om-system-theme-"] .om-tabs a:hover{background:rgba(255,255,255,.46);color:#333333}
.om-binder[class*="om-system-theme-"] .om-tabs a span{background:var(--om-secondary);color:var(--om-secondary-text)}
.om-binder[class*="om-system-theme-"] .om-cover{border-left-color:var(--om-secondary);background:linear-gradient(145deg,var(--om-primary),#fff 58%)}
.om-binder[class*="om-system-theme-"] .om-cover>strong{color:#333333}
.om-binder[class*="om-system-theme-"] .om-section{border-left-color:var(--om-secondary);border-top:4px solid var(--om-primary)}
.om-binder[class*="om-system-theme-"] .om-section-number{background:var(--om-secondary);color:var(--om-secondary-text)}
.om-binder[class*="om-system-theme-"] .om-clean-section-head{margin:-8px -2px 18px;padding:12px 14px 13px;background:var(--om-primary);border-bottom:4px solid var(--om-secondary);border-radius:7px 7px 3px 3px}
.om-binder[class*="om-system-theme-"] .om-clean-section-head h2,
.om-binder[class*="om-system-theme-"] .om-clean-section-head p,
.om-binder[class*="om-system-theme-"] .om-clean-section-head .eyebrow{color:#333333}
.om-manual-page-head[class*="om-system-theme-"]{border-bottom:4px solid var(--om-secondary)}
.om-manual-page-head[class*="om-system-theme-"] .eyebrow{color:#333333}
.om-viewer-shell[data-system-theme]{border-top:0}

/* Large file drop targets. The original input stays in the form, but the whole visual zone is clickable. */
.ww-file-drop-zone{position:relative;min-height:94px;margin-top:6px;border:2px dashed #9fb5c9;border-radius:10px;background:#f8fbff;display:grid;place-items:center;padding:14px 18px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}
.ww-file-drop-zone:hover,.ww-file-drop-zone.is-dragover{border-color:#3780FF;background:#EDF4FF;box-shadow:0 0 0 3px rgba(55,128,255,.12)}
.ww-file-drop-zone input[type="file"]{position:absolute;inset:0;width:100%;height:100%;padding:0;margin:0;opacity:0;cursor:pointer;z-index:2}
.ww-file-drop-copy{pointer-events:none;display:grid;gap:4px;justify-items:center;color:#333333}
.ww-file-drop-copy strong{font-size:.86rem;color:#333333}
.ww-file-drop-copy span{font-size:.7rem;color:#66717c;font-weight:600}
.ww-file-drop-copy .ww-file-drop-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#3780FF;color:#fff;font-size:1.05rem;font-weight:900;margin-bottom:1px}
.ww-file-drop-name{font-size:.72rem!important;color:#2F6FDE!important;font-weight:800!important;max-width:100%;overflow-wrap:anywhere}
.ww-drop-panel{position:relative;transition:border-color .15s,background .15s,box-shadow .15s}
.ww-drop-panel.ww-panel-dragover{border-color:#3780FF!important;background:#f7faff!important;box-shadow:0 0 0 4px rgba(55,128,255,.12)!important}
.upload-drop-hint{margin:-4px 0 4px!important;padding:8px 10px;border-radius:7px;background:#EDF4FF;color:#42556a!important;font-size:.72rem!important;line-height:1.35!important}
.om-upload-form[data-file-drop-panel]{border:2px dashed #c4d3e0!important;background:#fbfdff!important}
.om-upload-form[data-file-drop-panel].ww-panel-dragover{border-color:#3780FF!important;background:#EDF4FF!important}
.file-upload-form[data-file-drop-panel]{padding:14px;border:2px dashed transparent;border-radius:10px}

@media(max-width:700px){
  .ww-file-drop-zone{min-height:108px;padding:16px 14px}
  .om-binder[class*="om-system-theme-"] .om-clean-section-head{margin:-5px 0 14px;padding:10px 11px}
}

/* 2026-09-13: Harmonized system palette + Inventory & Orders + consolidated O&M add-document UX. */
.tag.system-pvwc{background:#DCEEFF;color:#244a70;border-color:#3780FF}
.tag.system-lpwd{background:#DDF3DF;color:#285b2d;border-color:#4D9B55}
.tag.system-kwd{background:#F8D4E8;color:#6e2453;border-color:#C43F8C}
.tag.system-whwc{background:#E8DDF4;color:#4e326d;border-color:#7A4BA5}
.tag.system-nwd{background:#E8DDC7;color:#554127;border-color:#8A6841}
.tag.system-lrwa{background:#F1DEDE;color:#633438;border-color:#984D52}
.tag.system-jnwid{background:#FBE5D2;color:#704016;border-color:#D77925}
.om-system-theme-pvwc{--om-primary:#DCEEFF;--om-secondary:#3780FF;--om-secondary-text:#fff}
.om-system-theme-lpwd{--om-primary:#DDF3DF;--om-secondary:#4D9B55;--om-secondary-text:#fff}
.om-system-theme-kwd{--om-primary:#F8D4E8;--om-secondary:#C43F8C;--om-secondary-text:#fff}
.om-system-theme-whwc{--om-primary:#E8DDF4;--om-secondary:#7A4BA5;--om-secondary-text:#fff}
.om-system-theme-nwd{--om-primary:#E8DDC7;--om-secondary:#8A6841;--om-secondary-text:#fff}
.om-system-theme-lrwa{--om-primary:#F1DEDE;--om-secondary:#984D52;--om-secondary-text:#fff}
.om-system-theme-jnwid{--om-primary:#FBE5D2;--om-secondary:#D77925;--om-secondary-text:#fff}
.audit-table tbody tr.audit-row.user-color-pvwc>td{background-color:#DCEEFF!important}.audit-table tbody tr.audit-row.user-color-lpwd>td{background-color:#DDF3DF!important}.audit-table tbody tr.audit-row.user-color-kwd>td{background-color:#F8D4E8!important}.audit-table tbody tr.audit-row.user-color-whwc>td{background-color:#E8DDF4!important}.audit-table tbody tr.audit-row.user-color-nwd>td{background-color:#E8DDC7!important}.audit-table tbody tr.audit-row.user-color-lrwa>td{background-color:#F1DEDE!important}.audit-table tbody tr.audit-row.user-color-jnwid>td{background-color:#FBE5D2!important}
.water-report-table.report-system-pvwc{--report-head-bg:#DCEEFF;--report-head-border:#3780FF}.water-report-table.report-system-lpwd{--report-head-bg:#DDF3DF;--report-head-border:#4D9B55}.water-report-table.report-system-kwd{--report-head-bg:#F8D4E8;--report-head-border:#C43F8C}.water-report-table.report-system-whwc{--report-head-bg:#E8DDF4;--report-head-border:#7A4BA5}.water-report-table.report-system-nwd{--report-head-bg:#E8DDC7;--report-head-border:#8A6841}.water-report-table.report-system-lrwa{--report-head-bg:#F1DEDE;--report-head-border:#984D52}.water-report-table.report-system-jnwid{--report-head-bg:#FBE5D2;--report-head-border:#D77925}

.om-add-consolidated{border:1px solid #dce4ec;border-radius:10px;background:#fff;padding:15px;gap:12px}.om-add-source-grid{display:grid;grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr);gap:12px;align-items:end}.om-add-or{display:grid;place-items:center;align-self:center;width:34px;height:34px;border-radius:50%;background:#eef3f8;color:#66717c;font-size:.72rem;font-weight:900;text-transform:uppercase}.om-add-consolidated .ww-file-drop-zone{min-height:116px;margin-top:6px}.om-add-consolidated[data-file-drop-panel].ww-panel-dragover{border-color:#3780FF;background:#f7faff}

.inventory-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 14px}.inventory-tabs a{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid #d4dde7;border-radius:8px;background:#fff;color:#333;text-decoration:none;font-weight:800;font-size:.82rem}.inventory-tabs a.active{background:#3780FF;border-color:#3780FF;color:#fff}.inventory-tabs a span{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:rgba(0,0,0,.08);font-size:.68rem}.inventory-transfer-bar{display:flex;justify-content:space-between;align-items:center;gap:14px}.inventory-transfer-bar>div{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.inventory-transfer-bar small{display:block;color:#6d7782}.inventory-add-panel summary{display:flex;justify-content:space-between;gap:10px}.inventory-item-form,.inventory-receive-form,.inventory-adjust-form,.supplier-form,.order-meta-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 12px;margin-top:12px}.inventory-item-form .full,.inventory-receive-form .full,.inventory-adjust-form .full,.order-meta-form .full{grid-column:1/-1}.inventory-item-form label,.inventory-receive-form label,.inventory-adjust-form label,.supplier-form label,.order-meta-form label{min-width:0}.inventory-filter form{display:grid;grid-template-columns:180px minmax(260px,1fr) auto auto;gap:10px;align-items:end}.inventory-card-list{display:grid;gap:10px}.inventory-card{border:1px solid #d9e1e8;border-left:5px solid #a9b7c5;border-radius:10px;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.035);padding:12px}.inventory-card-low{border-left-color:#c82f34;background:#fffafa}.inventory-card-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center}.inventory-card-head small,.inventory-card-meta{color:#67727d;font-size:.72rem}.inventory-on-hand{text-align:right;display:grid}.inventory-on-hand b{font-size:1.28rem;color:#333}.inventory-on-hand span{font-size:.68rem;color:#68737d}.inventory-on-hand em{font-style:normal;color:#a42025;font-size:.64rem;font-weight:900}.inventory-card-meta{display:flex;gap:15px;flex-wrap:wrap;margin:8px 0 0 42px}.inventory-quick-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;padding-top:9px;border-top:1px solid #edf0f3}.inventory-quick-actions>details{flex:1 1 220px;border:1px solid #dce3ea;border-radius:8px;padding:0 9px}.inventory-quick-actions>details>summary{cursor:pointer;padding:8px 0;font-weight:800;font-size:.75rem}.inventory-receive-form,.inventory-adjust-form{grid-template-columns:repeat(2,minmax(0,1fr));margin:4px 0 10px}.inventory-item-form.compact{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.low-stock-group{border:1px solid #dce3ea;border-radius:9px;margin:12px 0;overflow:hidden}.low-stock-group-head{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#f8fafc}.low-stock-group-head small{display:block;color:#68737d}.inventory-table-wrap{overflow:auto}.inventory-table{width:100%;border-collapse:collapse;font-size:.78rem}.inventory-table th,.inventory-table td{padding:7px 9px;border-bottom:1px solid #e7edf2;text-align:left;white-space:nowrap}.inventory-table td:nth-child(2){white-space:normal;min-width:220px}.inventory-table small{display:block;color:#75808b}.pending-receipt-preview{display:grid;gap:6px;margin:12px 0}.pending-receipt-preview>div{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 9px;padding:8px 9px;border:1px solid #e0e6ec;border-radius:7px}.pending-receipt-preview .tag{grid-row:1/3}.pending-receipt-preview small{color:#6c7781}.receipt-send-form{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.supplier-list{display:grid;gap:7px;margin-top:12px}.supplier-card{border:1px solid #dce3ea;border-radius:8px;padding:0 10px}.supplier-card summary{padding:9px 0;display:flex;justify-content:space-between}.order-create-form{display:grid;grid-template-columns:1fr 180px 1fr auto;gap:10px;align-items:end}.inventory-order-list{display:grid;gap:8px}.inventory-order-list article{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px;border:1px solid #dce3ea;border-radius:8px}.inventory-order-list small{display:block;color:#6b7680}.inventory-order-list article>div:last-child{display:flex;gap:7px;align-items:center}.inventory-order-items{display:grid;gap:5px}.inventory-order-row{display:grid;grid-template-columns:auto 130px minmax(0,1fr) 80px auto;gap:8px;align-items:center;padding:8px;border-bottom:1px solid #e6ebef}.order-add-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.order-add-grid>form{border:1px solid #e0e6ec;border-radius:8px;padding:12px}.order-share-panel{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(240px,.6fr);gap:16px}.order-share-panel textarea{width:100%;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.76rem}.order-activity-form{align-self:end;display:grid;gap:9px}.inline-form{display:inline}.check-label{display:flex!important;gap:7px;align-items:center}.check-label input{width:auto!important}
@media(max-width:900px){.inventory-item-form,.supplier-form,.order-meta-form{grid-template-columns:repeat(2,minmax(0,1fr))}.order-create-form{grid-template-columns:1fr 1fr}.order-create-form button{grid-column:1/-1}.order-share-panel{grid-template-columns:1fr}.order-add-grid{grid-template-columns:1fr}.om-add-source-grid{grid-template-columns:1fr}.om-add-or{margin:auto}.inventory-order-row{grid-template-columns:auto 1fr 70px}.inventory-order-row>span:nth-child(2){display:none}.inventory-order-row>form{grid-column:3}.inventory-filter form{grid-template-columns:1fr 2fr auto auto}}
@media(max-width:620px){.inventory-transfer-bar{align-items:stretch;flex-direction:column}.inventory-transfer-bar>div:last-child{display:grid}.inventory-item-form,.inventory-item-form.compact,.inventory-receive-form,.inventory-adjust-form,.supplier-form,.order-meta-form{grid-template-columns:1fr}.inventory-card-head{grid-template-columns:auto 1fr}.inventory-on-hand{grid-column:2;text-align:left}.inventory-card-meta{margin-left:0}.inventory-filter form{grid-template-columns:1fr}.inventory-order-list article{align-items:stretch;flex-direction:column}.inventory-order-list article>div:last-child{justify-content:flex-start}.order-create-form{grid-template-columns:1fr}.inventory-order-row{grid-template-columns:auto 1fr auto}.inventory-order-row strong{grid-column:2}.inventory-order-row b{grid-column:3;grid-row:1/3}.inventory-order-row form{grid-column:3}.om-add-consolidated{padding:11px}}
.order-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.order-receive-inline{display:inline-flex;align-items:center;gap:5px}.order-receive-inline input{width:64px!important;min-height:30px!important;padding:4px 6px!important;font-size:.72rem}.order-received-mark{font-size:.7rem;font-weight:900;color:#28733b}
@media(max-width:900px){.inventory-order-row{grid-template-columns:auto minmax(0,1fr) 70px}.order-row-actions{grid-column:2/4;justify-content:flex-start}}
.pending-receipt-text{display:grid;gap:5px}.pending-receipt-text textarea{width:100%;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.77rem;line-height:1.4;background:#fbfcfd}
.order-qty-form{display:flex;align-items:center;gap:4px}.order-qty-form input{width:58px!important;min-height:30px!important;padding:4px 6px!important;font-size:.72rem}

/* 2026-09-13 graph reading editor usability */
.report-readings-panel>.panel-head{margin-bottom:8px;align-items:center}
.report-readings-panel>.panel-head h2{margin-bottom:2px}
.report-readings-panel>.panel-head p{margin:0;font-size:.72rem}
.report-readings-wrap{overflow-x:auto}
.report-readings-table{min-width:880px;font-size:.72rem;font-variant-numeric:tabular-nums}
.report-readings-table th,.report-readings-table td{padding:6px 7px;white-space:nowrap;vertical-align:middle}
.report-readings-table th{font-size:.62rem;letter-spacing:.035em}
.report-readings-table td{font-size:.72rem}
.report-period-cell{min-width:106px}
.report-period-cell strong{display:block;font-size:.76rem;color:#333333;line-height:1.12}
.report-period-cell span{display:block;margin-top:2px;font-size:.62rem;color:var(--muted);line-height:1.1}
.report-reading-row{cursor:pointer;transition:background-color .12s,box-shadow .12s}
.report-reading-row:hover,.report-reading-row:focus{background:#eef5ff;box-shadow:inset 4px 0 0 #3780FF;outline:0}
.report-reading-row:focus-visible{box-shadow:inset 4px 0 0 #3780FF,0 0 0 2px rgba(55,128,255,.24)}
.danger-button{color:var(--danger);border-color:#e2b8bb;background:#fff}
.danger-button:hover{background:#fff3f3;border-color:var(--danger)}

@media(max-width:760px){
  .report-readings-wrap{border:0;box-shadow:none;background:transparent;overflow:visible}
  .report-readings-table{display:block;min-width:0;width:100%}
  .report-readings-table thead{display:none}
  .report-readings-table tbody{display:grid;gap:8px}
  .report-readings-table .report-reading-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px;width:100%;padding:8px 10px;border:1px solid var(--line);border-left:4px solid #3780FF;border-radius:9px;background:#fff;box-shadow:0 2px 7px rgba(16,34,50,.035)}
  .report-readings-table .report-reading-row:hover,.report-readings-table .report-reading-row:focus{background:#f6f9ff;box-shadow:0 2px 7px rgba(16,34,50,.055)}
  .report-readings-table .report-reading-row td{display:grid;grid-template-columns:minmax(72px,.85fr) minmax(0,1fr);gap:7px;border:0;padding:4px 0;font-size:.72rem;white-space:normal;align-items:baseline}
  .report-readings-table .report-reading-row td::before{content:attr(data-label);font-size:.6rem;text-transform:uppercase;letter-spacing:.035em;color:var(--muted);font-weight:900}
  .report-readings-table .report-reading-row .report-period-cell{grid-column:1/-1;display:flex;justify-content:space-between;align-items:baseline;padding:2px 0 7px;margin-bottom:3px;border-bottom:1px solid #e9edf1}
  .report-readings-table .report-reading-row .report-period-cell::before{display:none}
  .report-period-cell strong{font-size:.84rem}
  .report-period-cell span{font-size:.68rem;margin:0}
}

/* 2026-09-13 File Cabinet unified system switcher + universal system order */
.file-cabinet-control-panel{padding:0;overflow:hidden}
.file-system-scope-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px 9px}
.file-system-scope-head>div{display:grid;gap:2px}.file-system-scope-head strong{font-size:.9rem;color:#333333}.file-system-scope-head span{font-size:.7rem;color:var(--muted)}
.file-system-current{display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border:1px solid #d8e0e8;border-radius:999px;background:#f7f9fb;color:#333333!important;font-weight:850!important;white-space:nowrap}
.file-system-switcher{display:flex;gap:7px;align-items:center;overflow-x:auto;padding:3px 16px 13px;scrollbar-width:thin}
.file-system-switcher a{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 12px;border:2px solid #cbd5df;border-radius:9px;background:#fff;color:#333333;text-decoration:none;font-size:.75rem;font-weight:900;transition:transform .12s,border-color .12s,background .12s,box-shadow .12s}
.file-system-switcher a:hover{transform:translateY(-1px);border-color:#3780FF;box-shadow:0 2px 7px rgba(55,128,255,.12)}
.file-system-switcher a.active{background:#3780FF;border-color:#3780FF;color:#fff;box-shadow:0 2px 7px rgba(55,128,255,.16)}
.file-system-switcher .system-pvwc{background:#DCEEFF;border-color:#3780FF;color:#244a70}.file-system-switcher .system-pvwc.active{background:#3780FF;color:#fff}
.file-system-switcher .system-lpwd{background:#DDF3DF;border-color:#4D9B55;color:#285b2d}.file-system-switcher .system-lpwd.active{background:#4D9B55;color:#fff}
.file-system-switcher .system-kwd{background:#F8D4E8;border-color:#C43F8C;color:#6e2453}.file-system-switcher .system-kwd.active{background:#C43F8C;color:#fff}
.file-system-switcher .system-lrwa{background:#F1DEDE;border-color:#984D52;color:#633438}.file-system-switcher .system-lrwa.active{background:#984D52;color:#fff}
.file-system-switcher .system-jnwid{background:#FBE5D2;border-color:#D77925;color:#704016}.file-system-switcher .system-jnwid.active{background:#D77925;color:#fff}
.file-system-switcher .system-nwd{background:#E8DDC7;border-color:#8A6841;color:#554127}.file-system-switcher .system-nwd.active{background:#8A6841;color:#fff}
.file-system-switcher .system-whwc{background:#E8DDF4;border-color:#7A4BA5;color:#4e326d}.file-system-switcher .system-whwc.active{background:#7A4BA5;color:#fff}
.file-cabinet-filter-compact{grid-template-columns:minmax(190px,.55fr) minmax(280px,1.45fr) auto;padding:12px 16px;border-top:1px solid var(--line);background:#fbfcfd}
.file-upload-panel-inline{margin:0;border:0;border-top:1px solid var(--line);border-radius:0;background:#fff}
.file-upload-panel-inline>summary{padding:13px 16px;background:#fff}
.file-upload-destination{display:grid;align-content:center;gap:2px;padding:8px 10px;border:1px solid #d8e1e9;border-radius:8px;background:#f8fafc;min-height:58px}
.file-upload-destination span{font-size:.65rem;font-weight:900;text-transform:uppercase;letter-spacing:.035em;color:#6b7680}.file-upload-destination strong{font-size:.79rem;color:#333333}
@media(max-width:850px){.file-cabinet-filter-compact{grid-template-columns:1fr}.file-cabinet-filter-compact .file-filter-actions{grid-column:1}.file-system-scope-head{align-items:flex-start}.file-system-current{white-space:normal;text-align:right}}
@media(max-width:620px){.file-system-scope-head{display:grid}.file-system-current{justify-self:start;text-align:left}.file-system-switcher{padding-left:12px;padding-right:12px}.file-system-switcher a{min-height:36px;padding:7px 11px}.file-cabinet-filter-compact{padding:11px 12px}}
@media print{.file-cabinet-control-panel{display:none!important}}

/* 2026-09-13 O&M system switcher + aligned toolbar */
.om-manual-page-head .om-head-actions{align-self:end}
.om-toolbar-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;width:min(100%,540px)}
.om-toolbar-actions .btn{display:inline-flex;align-items:center;justify-content:center;min-height:38px;margin:0;text-align:center}
.om-toolbar-actions .om-archive-button{color:#333333;background:#fff;border-color:#b9c6d1}
.om-toolbar-actions .om-archive-button:hover{border-color:#3780FF;color:#245eae;background:#f5f9ff}
.om-toolbar-actions .om-archive-spinner{border-color:rgba(55,128,255,.28);border-top-color:#3780FF}
.om-system-switchbar{margin:-2px 0 16px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);overflow:hidden}
.om-system-switchbar-label{display:block;padding:10px 16px 3px;color:#66747e;font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.055em}
.om-system-switchbar .file-system-switcher{padding-top:5px;padding-bottom:11px}
@media(max-width:1050px){.om-manual-page-head .om-head-actions{align-self:stretch}.om-toolbar-actions{width:100%;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}}
@media(max-width:700px){.om-toolbar-actions{grid-template-columns:1fr}.om-toolbar-actions .btn{width:100%}.om-system-switchbar{margin-bottom:12px}.om-system-switchbar-label{padding-left:12px}}

/* 2026-09-13: Tasks system switcher, personal system order, and private messages. */
.task-system-switch-panel{padding:0;overflow:hidden;margin-bottom:12px}
.task-system-switch-panel .file-system-scope-head{padding-bottom:7px}
.task-system-switcher{padding-bottom:12px}
.task-filter-form-compact{grid-template-columns:minmax(145px,220px) minmax(145px,220px) auto;align-items:end}
.task-filter-form-compact .task-filter-actions{display:flex;gap:7px;align-items:center}

.profile-system-order-panel,.profile-private-message-panel{grid-column:1/-1}
.profile-system-order-panel>p,.profile-message-head p{margin-top:-4px;color:var(--muted)}
.profile-system-order-list{display:grid;gap:7px;margin:12px 0 14px;max-width:760px}
.profile-system-order-row{display:grid;grid-template-columns:24px auto minmax(0,1fr) auto;align-items:center;gap:9px;min-height:46px;padding:7px 9px;border:1px solid var(--line);border-radius:9px;background:#fff}
.profile-system-order-row strong{font-size:.88rem;color:#333333}
.system-order-handle{color:#86929c;font-size:.95rem;text-align:center}
.system-order-controls{display:flex;gap:5px}
.system-order-controls .btn{min-width:34px;padding:5px 8px}

.profile-message-form{display:grid;grid-template-columns:minmax(180px,300px) 1fr;gap:10px 12px;align-items:end;margin:12px 0 18px}
.profile-message-form .full{grid-column:1/-1}
.profile-message-form textarea{min-height:112px;resize:vertical}
.profile-message-history{border-top:1px solid var(--line);padding-top:14px}
.profile-message-history h3{margin:0 0 10px;font-size:.95rem}
.profile-sent-message{padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#fbfcfd;margin-bottom:8px}
.profile-sent-message p{margin:7px 0 0;white-space:normal;line-height:1.45;color:#333333}
.profile-sent-message-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:.69rem;color:var(--muted)}
.private-message-status{display:inline-flex;padding:2px 7px;border-radius:999px;font-size:.64rem;font-weight:850}
.private-message-status.sent{background:#eef3f7;color:#52616c}.private-message-status.read{background:#e2f3e5;color:#2f6d39}

.private-message-inbox{padding:0;overflow:hidden}
.private-message-inbox-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line);background:#f8fafc}
.private-message-inbox-head h2{margin:0;font-size:1rem}.private-message-inbox-head p{margin:2px 0 0;color:var(--muted);font-size:.76rem}
.private-message-inbox-list{display:grid}
.private-message-inbox-item{padding:13px 16px;border-bottom:1px solid var(--line);background:#fff}
.private-message-inbox-item:last-child{border-bottom:0}
.private-message-inbox-item.unread{background:#fff9f9;border-left:4px solid #c82f34;padding-left:12px}
.private-message-inbox-item p{margin:8px 0 0;color:#333333;line-height:1.5}
.private-message-inbox-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:.72rem;color:var(--muted)}
.private-message-inbox-meta>strong{font-size:.85rem;color:#333333}
.private-message-unread{display:inline-flex;padding:2px 7px;border-radius:999px;background:#c82f34;color:#fff;font-size:.62rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.private-message-read-form{margin-top:7px}
.collaboration-switcher .private-count{background:#c82f34;color:#fff}

@media(max-width:760px){
  .task-filter-form-compact{grid-template-columns:1fr 1fr}.task-filter-form-compact .task-filter-actions{grid-column:1/-1}
  .profile-message-form{grid-template-columns:1fr}
  .profile-message-form .full{grid-column:auto}
  .profile-system-order-row{grid-template-columns:20px auto minmax(0,1fr)}
  .system-order-controls{grid-column:1/-1;justify-self:end}
  .private-message-inbox-head{align-items:flex-start;flex-direction:column}
}
