/* UFOMS 0.7 interface refinement — inherits administrator-selected brand tokens. */
:root { --ui-radius:18px; --ui-border:color-mix(in srgb,var(--nav) 13%,white); --ui-wash:color-mix(in srgb,var(--accent) 7%,white); }
body{background:radial-gradient(circle at 92% 0%,color-mix(in srgb,var(--accent) 8%,transparent),transparent 38%),var(--bg)}
.page-content{max-width:1640px}.panel{border:1px solid var(--ui-border);border-radius:var(--ui-radius);box-shadow:0 7px 28px #10293d0d;transition:box-shadow .2s ease}
.panel:hover{box-shadow:0 12px 34px #10293d12}
.page-heading{background:linear-gradient(120deg,var(--nav),color-mix(in srgb,var(--nav) 78%,var(--accent)));color:#fff;border-radius:20px;padding:clamp(19px,3vw,31px);box-shadow:0 10px 28px #0b223a25;margin-block-end:22px}
.page-heading h1{color:white;margin:0}.page-heading .help{color:#e2edef}
.topbar{backdrop-filter:blur(12px);background:color-mix(in srgb,white 94%,var(--bg));border-bottom:1px solid var(--ui-border)}
.nav-link{transition:background-color .17s ease,transform .17s ease}.nav-link:hover{transform:translateX(2px)}html[dir=rtl] .nav-link:hover{transform:translateX(-2px)}
.nav-link.is-active{background:color-mix(in srgb,var(--accent) 24%,transparent);box-shadow:inset 3px 0 0 var(--accent)}
button.btn,.btn{box-shadow:0 3px 9px color-mix(in srgb,var(--accent) 16%,transparent);transition:transform .15s ease,box-shadow .15s ease}
.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 13px color-mix(in srgb,var(--accent) 18%,transparent)}
input:not([type=checkbox]),select,textarea{border-color:var(--ui-border);background:white}
input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.table-wrap{border:1px solid var(--ui-border);border-radius:14px}thead th{background:var(--ui-wash);color:var(--ink)}tbody tr:nth-child(even){background:color-mix(in srgb,var(--bg) 55%,white)}tbody tr:hover{background:var(--ui-wash)}
.ufoms-report-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:18px}
.eyebrow{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-weight:800}
.ufoms-report-overview .grid{margin-block:18px}.ufoms-metric-figure{display:block;font-size:clamp(1.75rem,3vw,2.45rem);font-variant-numeric:tabular-nums;color:var(--nav);line-height:1.2;margin:12px 0}
.ufoms-meter{width:100%;background:color-mix(in srgb,var(--accent) 10%,white);height:9px;border-radius:99px;overflow:hidden}.ufoms-meter>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 65%,#4dd4be))}
.ufoms-chart-comparison{margin-top:26px;padding-top:18px;border-top:1px solid var(--ui-border)}.ufoms-chart-comparison h3{margin-top:0}
.ufoms-chart-row{display:grid;grid-template-columns:minmax(95px,160px) 1fr auto;align-items:center;gap:14px;margin:13px 0;font-size:.85rem}.ufoms-chart-row strong{font-variant-numeric:tabular-nums;direction:ltr}
.ufoms-chart-tracks{min-width:0;display:grid;gap:4px}.ufoms-chart-track{height:10px;background:color-mix(in srgb,var(--nav) 5%,white);border-radius:99px;overflow:hidden}.ufoms-chart-track>span{display:block;height:100%;border-radius:99px}
.ufoms-chart-total>span{background:color-mix(in srgb,var(--nav) 35%,white)}.ufoms-chart-done>span{background:var(--accent)}
@media(max-width:680px){.page-heading{border-radius:15px}.ufoms-chart-row{grid-template-columns:minmax(70px,100px) 1fr auto;gap:8px;font-size:.75rem}.ufoms-report-overview .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.ufoms-report-overview .grid .panel{padding:13px}.ufoms-metric-figure{font-size:1.4rem}.ufoms-report-heading>a{width:100%}}
@media(min-width:980px){.sidebar{box-shadow:5px 0 24px #12283a16}.page-content{padding-inline:clamp(25px,3vw,54px)}}
@media(prefers-reduced-motion:reduce){.nav-link,.panel,.btn{transition:none!important}}
@media print{.page-heading{color:#000;background:white;box-shadow:none;border:1px solid #eee}.ufoms-meter,.ufoms-chart-track{print-color-adjust:exact;-webkit-print-color-adjust:exact}.ufoms-report-heading .btn{display:none}}

/* UFOMS v1.0 grouped navigation and operational dashboard */
.nav-group{border:1px solid transparent;border-radius:13px;margin:4px 9px;overflow:hidden}
.nav-group[open]{background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.08)}
.nav-group summary{display:flex;align-items:center;justify-content:space-between;color:#dce8ef;font-size:.88rem;font-weight:750;cursor:pointer;padding:12px 13px;list-style:none}
.nav-group summary::-webkit-details-marker{display:none}
.nav-group summary:hover{background:rgba(255,255,255,.065)}.nav-group-chevron{transition:transform .2s;color:#adc4cf}.nav-group[open] .nav-group-chevron{transform:rotate(180deg)}
.nav-group-items{padding:0 7px 8px}.nav-group-items .nav-link{font-size:.84rem;min-height:38px;padding:9px 11px;border-radius:9px}
.profile-nav-link{margin:6px 12px 12px}.sidebar .avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.opening-stock{margin:20px 0 12px;padding:18px;background:var(--ui-wash);border:1px solid var(--ui-border);border-radius:15px}
.opening-stock h3{margin:0 0 6px}.plan-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:13px 0}.plan-toolbar [data-plan-count]{font-weight:800;color:var(--accent)}
.btn-remove-row{min-width:42px;padding:7px!important;color:#9d3636!important}
.dashboard-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:135px}
.dashboard-hero p{color:#e3f3f5;margin:7px 0 0}.dashboard-kicker{font-size:.76rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--accent);margin:0 0 7px}
.dashboard-hero .dashboard-kicker{color:#abe5e3}.dashboard-hero-glyph{font-size:4rem;opacity:.18}
.dashboard-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:0 0 20px}
.dashboard-metrics .panel{margin:0;min-height:118px}.dashboard-columns{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(290px,1fr);gap:18px;margin:0 0 20px}
.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:20px}.section-title-row h2{margin:0}.dashboard-kpi{margin:17px 0}
.dashboard-kpi-title{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:0 0 8px;font-size:.9rem}.dashboard-kpi-title strong{font-variant-numeric:tabular-nums;font-size:.83rem}
.quick-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.quick-links a{display:flex;justify-content:space-between;align-items:center;gap:5px;text-decoration:none;padding:13px;border:1px solid var(--ui-border);border-radius:13px;background:var(--ui-wash);color:var(--ink);font-size:.88rem;font-weight:700}
.quick-links a:hover{border-color:var(--accent);background:#fff}.permission-label{display:flex;flex-direction:column;gap:3px}.permission-code{font-size:.66rem;opacity:.58;direction:ltr;unicode-bidi:plaintext}
.profile-image{width:90px;height:90px;border:2px solid var(--ui-border);border-radius:50%;object-fit:cover;background:var(--ui-wash)}
@media(max-width:1200px){.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-columns{grid-template-columns:1fr}}
@media(max-width:620px){.dashboard-metrics{gap:9px}.dashboard-metrics .panel{padding:12px}.quick-links{grid-template-columns:1fr}.dashboard-hero-glyph{display:none}.opening-stock{padding:12px}}

/* Consolidated usability pass: mobile forms, charts, disclosure nav, worker self-service. */
.ufoms-report-metric{display:flex;flex-direction:column;align-items:flex-start;gap:7px}.ufoms-donut{width:116px;height:116px;border-radius:50%;background:conic-gradient(var(--accent) var(--value),#e4eff0 0);display:grid;place-items:center;margin:0 auto 5px;position:relative}.ufoms-donut:before{content:"";position:absolute;inset:15px;border-radius:50%;background:white}.ufoms-donut span{z-index:1;font-weight:850;font-size:1.2rem;color:var(--ink)}
.ufoms-visual-metrics{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important}.recipient-list{max-height:260px;overflow:auto;border:1px solid #d7e1e6;padding:10px;border-radius:10px}.recipient-list label{display:flex;gap:8px;padding:5px}.import-form{margin-top:20px;padding:15px;background:var(--ui-wash);border-radius:12px}.import-form input[type=file]{display:block;margin:10px 0}.worker-portal-login{max-width:540px;margin:24px auto;padding:30px}.worker-portal-login form{margin:20px 0}.worker-portal-login label,.profile-grid label{display:block;margin:12px 0}.profile-grid input,.profile-grid select{width:100%}
@media(max-width:680px){.dashboard-columns{display:block}.dashboard-columns>.panel{margin-bottom:12px}.nav-group summary{min-height:44px}.worker-portal-login{padding:16px}.page-heading{border-radius:14px}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media print{.ufoms-donut,.ufoms-donut:before{print-color-adjust:exact;-webkit-print-color-adjust:exact}.sidebar,.topbar,.form-actions{display:none!important}}

.ufoms-report-metric>.ufoms-metric-figure{display:none}

/* v1.0.3 guest entry and worker OTP forms */
.worker-entry-link{margin-top:18px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-wash);font-weight:750;color:var(--ink);padding:13px;text-decoration:none}
.worker-entry-link:hover{border-color:var(--accent)}
.worker-login-heading{text-align:center}.worker-portal-glyph{display:inline-grid;place-items:center;background:var(--ui-wash);color:var(--accent);width:48px;height:48px;border-radius:13px;font-size:1.6rem;margin-bottom:10px}
.worker-portal-login form{display:grid;gap:10px}.worker-portal-login input:not([type=radio]){width:100%;max-width:100%}.otp-channels{border:1px solid var(--ui-border);border-radius:12px;padding:12px;margin:6px 0;display:flex;flex-wrap:wrap;gap:12px}.otp-channels legend{padding:0 7px;font-weight:750}.otp-channels label{margin:0;display:flex;align-items:center;gap:7px;font-weight:500}.otp-channels input[type=radio]{accent-color:var(--accent)}
.otp-code-card{border-top:1px solid var(--ui-border);padding-top:12px;margin-top:16px}.worker-back-link{display:block;margin-top:14px;text-align:center;color:var(--accent);font-weight:700}

/* v1.1 task evidence and SLA */
.ufoms-task-proof{display:flex;gap:.7rem;flex-wrap:wrap;align-items:center;padding:.85rem 1rem;border:1px solid #dce7e8;border-radius:12px;margin:1rem 0;background:var(--surface,#fff)}
.ufoms-task-proof form{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center;width:100%}
.ufoms-task-proof a{font-size:.83rem;text-decoration:underline}
@media(max-width:600px){.ufoms-task-proof form>*{max-width:100%}}

/* v1.2 status breakdown, accessible without canvas and printable */
.ufoms-state-chart{display:grid;gap:.85rem;margin:1.25rem 0}
.ufoms-state-row{display:grid;grid-template-columns:minmax(110px,190px) minmax(120px,1fr) 48px;align-items:center;gap:1rem}
.ufoms-state-track{height:14px;border-radius:999px;background:#e5edf2;overflow:hidden}
.ufoms-state-track>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--brand-primary,#087f86),#39a99b)}
@media(max-width:600px){.ufoms-state-row{grid-template-columns:minmax(80px,115px) 1fr 30px;gap:.45rem;font-size:.8rem}}
@media print{.ufoms-state-track,.ufoms-state-track>span{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
