:root{--green: #123c37;--forest: #1e5548;--gold: #bb9463;--ink: #182b29;--muted: #657471;--bg: #f6f4ef;--border: #e5e8e3;--danger: #a33131;--card: #ffffff;--accent: var(--green);--accent-ink: #ffffff;--accent-soft: #e7efe9;--gold-soft: #f4e9d6;--good: #1e5548;--warn: #8a5a17;--bad: var(--danger);--radius: 10px;--header-h: 64px;--font: "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.5}a{color:var(--forest)}button,input,select,textarea{font:inherit}:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:4px}.skip-link{position:absolute;left:12px;top:-48px;z-index:100;background:var(--green);color:#fff;padding:10px 16px;border-radius:0 0 8px 8px;text-decoration:none;font-weight:600;transition:top .15s ease}.skip-link:focus{top:0}.app-shell{display:flex;min-height:100vh}.sidebar{width:264px;background:linear-gradient(117deg,#113c36,#28594e);color:#f2f5f1;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;z-index:40}.brand{display:flex;align-items:center;gap:12px;padding:16px 18px 14px;border-bottom:1px solid rgba(255,255,255,.16)}.brand img{width:44px;height:44px;border-radius:50%;background:#fff;flex:none}.brand h1{font-size:16px;margin:0;letter-spacing:.2px;line-height:1.25}.brand p{margin:2px 0 0;font-size:11.5px;color:#d8e2d8}.nav{padding:10px;display:flex;flex-direction:column;gap:4px;flex:1;overflow-y:auto}.nav a{color:#eef3ec;text-decoration:none;padding:12px 14px;border-radius:8px;font-size:15px;border-left:4px solid transparent}.nav a:hover{background:#ffffff1a}.nav a.active{background:#ffffff24;border-left-color:var(--gold);color:#fff}.userbox{padding:14px 18px;border-top:1px solid rgba(255,255,255,.16);font-size:13px}.userbox .role{color:#cfdccf;font-size:12px}.nav .userbox.in-drawer{display:none}.menu-toggle{display:none;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid rgba(255,255,255,.35);border-radius:8px;background:transparent;color:#fff;font-size:22px;cursor:pointer;flex:none}.scrim{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#123c3780;z-index:39;border:0;padding:0}.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{background:var(--card);border-bottom:1px solid var(--border);padding:14px 24px;position:sticky;top:0;z-index:5}.topbar h2{margin:0;font-size:19px}.topbar .sub{color:var(--muted);font-size:13px;margin-top:2px}.topbar .actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.content{padding:24px;max-width:1180px;width:100%;margin:0 auto}.print-brand{display:none}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:18px;margin-bottom:16px}.grid{display:grid;gap:16px}.grid.cols-4{grid-template-columns:repeat(4,1fr)}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-2{grid-template-columns:repeat(2,1fr)}.stat{text-align:left;border-top:4px solid var(--gold)}.stat .num{font-size:30px;font-weight:700;color:var(--green)}.stat .lbl{color:var(--muted);font-size:13px}table.data{width:100%;border-collapse:collapse;font-size:14px}table.data th,table.data td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border)}table.data th{color:var(--muted);font-weight:600;font-size:12.5px;text-transform:uppercase;letter-spacing:.4px}table.data tr:hover td{background:#f2f5ef}table.data caption{text-align:left;font-weight:700;padding-bottom:8px}.badge{display:inline-block;padding:3px 12px;border-radius:999px;font-size:12px;font-weight:700;background:var(--accent-soft);color:var(--green);border:1px solid var(--border)}.badge.draft{background:#eef1ee;color:var(--muted)}.badge.submitted,.badge.under_review{background:var(--gold-soft);color:#6d4a12;border-color:#e3cfa4}.badge.approved{background:#e2efe7;color:var(--green);border-color:#bcd8c6}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:1px solid var(--green);background:var(--green);color:var(--accent-ink);padding:10px 18px;border-radius:8px;cursor:pointer;text-decoration:none;font-size:15px;font-weight:600}.btn:hover{background:var(--forest)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.ghost{background:transparent;color:var(--green)}.btn.ghost:hover{background:var(--accent-soft)}.btn.danger{background:var(--danger);border-color:var(--danger)}.btn+.btn{margin-left:8px}.field{margin-bottom:14px}.field label{display:block;font-weight:600;font-size:14px;margin-bottom:5px}.field .hint{font-weight:400;color:var(--muted);font-size:12.5px}.field .required-mark{color:var(--danger);font-weight:700}.field input[type=text],.field input[type=number],.field input[type=date],.field input[type=month],.field input[type=file],.field select,.field textarea{width:100%;padding:11px 12px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--ink);min-height:44px}.field textarea{min-height:96px;resize:vertical}.field-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.alert{padding:12px 14px;border-radius:8px;margin-bottom:14px;font-size:14px}.alert.error{background:#f9e7e5;color:#7c2424;border:1px solid #e3b3ae}.alert.info{background:var(--accent-soft);color:var(--green);border:1px solid #bcd8c6}.alert.warn{background:var(--gold-soft);color:#6d4a12;border:1px solid #e3cfa4}.steps{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px}.steps button{border:1px solid var(--border);background:#fff;border-radius:999px;padding:10px 14px;min-height:44px;font-size:13.5px;cursor:pointer;color:var(--ink)}.steps button.active{background:var(--green);color:#fff;border-color:var(--green)}.steps button.done{border-color:var(--forest);color:var(--forest)}.step-count{color:var(--muted);font-size:13px;margin:4px 0 16px;font-weight:600}.sticky-actions{position:sticky;bottom:0;background:linear-gradient(to top,var(--bg) 70%,transparent);padding:12px 0 4px;display:flex;flex-wrap:wrap;gap:8px}.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin-bottom:14px}.toolbar .field{margin-bottom:0}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.gallery figure{margin:0;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:#fff}.gallery img{width:100%;height:150px;object-fit:cover;display:block;background:#eceee7}.gallery figcaption{padding:8px 10px;font-size:12.5px}.login-wrap{max-width:460px;margin:8vh auto;padding:0 16px}.login-wrap .card{padding:28px;border-top:6px solid var(--gold)}.login-brand{text-align:center;margin-bottom:16px}.login-brand img{width:76px;height:76px;border-radius:50%;background:#fff;border:2px solid var(--gold)}.login-brand h1{color:var(--green);font-size:21px;margin:10px 0 2px}.login-brand p{color:var(--muted);font-size:13px;margin:0}.login-org{text-align:center;color:var(--muted);font-size:12px;margin-top:14px}.restricted-note{border-left:4px solid var(--gold);background:#fbf6ea;padding:10px 14px;border-radius:0 8px 8px 0;font-size:13.5px;margin-bottom:14px}.comments{border-top:1px solid var(--border);margin-top:8px}.comments li{margin-bottom:10px;font-size:14px;list-style:none}.comments ul{padding:0}.comments .meta{color:var(--muted);font-size:12px}.cards-hint{display:none}@media(max-width:860px){.app-shell{flex-direction:column}.sidebar{width:100%;height:auto;position:sticky;flex-direction:row;align-items:center;min-height:var(--header-h);padding:0 12px}.brand{border-bottom:0;padding:10px 0;flex:1;min-width:0}.brand img{width:40px;height:40px}.brand h1{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand p{display:none}.menu-toggle{display:inline-flex}.nav{display:none;position:fixed;top:0;right:0;bottom:0;width:min(84vw,320px);background:linear-gradient(117deg,#113c36,#28594e);z-index:50;padding:64px 14px 14px}.app-shell.nav-open .nav{display:flex}.app-shell.nav-open .scrim{display:block}.drawer-close{display:inline-flex;position:absolute;top:12px;right:12px}.userbox{display:none}.nav .userbox.in-drawer{display:block;margin-top:auto}.grid.cols-4,.grid.cols-3,.grid.cols-2{grid-template-columns:1fr}.content{padding:16px}.topbar{padding:12px 16px}.topbar h2{font-size:17px}.field input,.field select,.field textarea{font-size:16px}table.data.responsive thead{display:none}table.data.responsive,table.data.responsive tbody,table.data.responsive tr,table.data.responsive td{display:block;width:100%}table.data.responsive tr{background:#fff;border:1px solid var(--border);border-radius:var(--radius);margin-bottom:12px;padding:6px 12px}table.data.responsive tr:hover td{background:none}table.data.responsive td{border-bottom:0;padding:8px 0}table.data.responsive td:before{content:attr(data-label);display:block;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);margin-bottom:2px}table.data.responsive td.no-label:before{content:none}table.data.responsive td.row-action a,table.data.responsive td.row-action button{display:inline-flex;min-height:44px;align-items:center}.cards-hint{display:block;color:var(--muted);font-size:12px;margin-bottom:8px}.steps button{font-size:13px;padding:10px 12px}.btn+.btn{margin-left:0}.sticky-actions .btn{flex:1 1 auto}}.drawer-close{display:none}@media(min-width:861px){.scrim{display:none!important}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}@media print{.sidebar,.topbar .actions,.steps,.step-count,.btn,.toolbar,.sticky-actions,.skip-link,.menu-toggle,.scrim{display:none!important}body{background:#fff}.main{margin:0}.content{max-width:none;padding:0}.card{border:1px solid #ccc;break-inside:avoid}.print-brand{display:flex!important;align-items:center;gap:12px;margin-bottom:16px}.print-brand img{width:52px;height:52px}.print-brand strong{color:var(--green)}table.data.responsive thead{display:table-header-group}table.data.responsive,table.data.responsive tbody,table.data.responsive tr,table.data.responsive td{display:revert}table.data.responsive td:before{content:none}}
