/* Shared interface theme. PDF export templates use their own print styles. */
:root{--green:#275d40;--green2:#3f7c58;--ink:#283c31;--muted:#6a7c71;--line:#dfe8e2;--red:#a7434b;--gold:#a98745;--ui-soft:#edf5ef;--ui-blue:#edf3fb;--ui-ring:#9dc9ae}
body{background:#f5f8f6;color:var(--ink)}
.shell .topbar{background:#fff;border-bottom:1px solid var(--line);box-shadow:none;min-height:58px}
.shell .header-context{font-size:13px;font-weight:550;color:#566f5f}
.shell .sidebar{background:#173f2b}.shell .sidebar-link{border-radius:7px;transition:background .16s,color .16s}.shell .sidebar-link:hover{background:#ffffff12}.shell .sidebar-link.active{background:#ffffff1e;color:#fff}
.shell main.container{font-size:13px;line-height:1.5;padding-top:20px;padding-bottom:30px}
.shell main .page-head{margin-bottom:14px!important;gap:12px!important;align-items:center}
.shell main h1{font-size:23px!important;line-height:1.3;font-weight:600;color:#29563b;margin:0 0 4px}
.shell main h2{font-size:16px!important;font-weight:600}.shell main h3{font-size:14px!important;font-weight:600}
.shell main .page-head p,.shell main .text-sm{font-size:12px!important;color:var(--muted)}
.shell main .section-title{margin-bottom:10px}.shell main .grid,.shell main .split,.shell main .events{gap:12px!important}
.shell main .card{padding:14px 16px!important;border-radius:9px!important;border:1px solid var(--line)!important;box-shadow:none!important;background:#fff}
.shell main .actions,.shell main .inline{gap:7px!important}
.shell main .btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:6px 11px!important;min-height:32px!important;border-radius:6px!important;font-size:12px!important;line-height:1.35;font-weight:500!important;box-shadow:none!important;text-decoration:none;transition:background .16s,border-color .16s,color .16s}
.shell main .btn-primary,.shell main .btn-excel{background:#e7f2eb!important;border:1px solid #bedbc8!important;color:#286442!important}
.shell main .btn-primary:hover,.shell main .btn-excel:hover{background:#d8ecdf!important;border-color:#90bb9f!important}
.shell main .btn-secondary{background:#fff!important;border:1px solid #dbe5df!important;color:#597062!important}.shell main .btn-secondary:hover{background:#f0f6f2!important;border-color:#b4cdbd!important}
.shell main .btn-danger{background:#fcf0f1!important;border:1px solid #efd0d3!important;color:#a04450!important}.shell main .btn-danger:hover{background:#f7e0e4!important;border-color:#dcaab2!important}
.shell main .btn-warning{background:#fcf5e8!important;border:1px solid #e9d9b4!important;color:#916d2f!important}.shell main .btn-warning:hover{background:#f6eacb!important}
.shell main :is(button,a,input,select,textarea,summary):focus-visible{outline:2px solid var(--ui-ring);outline-offset:2px}
.shell main :is(button,.btn):disabled{opacity:.5!important;cursor:not-allowed;transform:none!important}
.shell main .form-group{margin-bottom:10px!important}.shell main label{font-size:12px!important;font-weight:500!important;color:#53695b}
.shell main .input,.shell main .select,.shell main .textarea{font-family:inherit;font-size:13px!important;padding:8px 10px!important;min-height:36px!important;border:1px solid #d9e4dd!important;border-radius:6px!important;background:#fcfefd!important;color:var(--ink)}
.shell main .input:focus,.shell main .select:focus,.shell main .textarea:focus{border-color:#89b59a!important;background:#fff!important;box-shadow:0 0 0 3px #e8f3ec!important}
.shell main .group-picker .input{padding-right:36px!important}.shell main .group-toggle{background:#eaf4ed}.shell main .group-option:hover,.shell main .group-option[aria-selected=true]{background:#e9f3ed}
.shell main input[type=checkbox],.shell main input[type=radio]{accent-color:#3f7954}.shell main .check{gap:7px;font-size:12px}
.shell main .tabs{gap:6px!important;margin-bottom:14px!important}.shell main .tab{padding:7px 11px!important;border-radius:6px!important;font-size:12px!important;font-weight:500!important;background:#fff;border:1px solid var(--line);color:#5a7162;transition:background .16s}
.shell main .tab.active{background:#e3f0e7!important;color:#2c6442!important;border-color:#b8d7c3!important}.shell main .tab:hover{background:#f0f6f2!important}
.shell main .table-wrap{border:1px solid var(--line);border-radius:7px!important}.shell main .table th,.shell main .dir-table th{font-size:11px!important;font-weight:600!important;text-transform:none!important;letter-spacing:0!important;padding:9px 10px!important;background:#f0f6f2;color:#50705c}
.shell main .table td,.shell main .dir-table td{font-size:12px!important;padding:9px 10px!important;border-bottom:1px solid #edf2ee}.shell main .table tbody tr:hover{background:#f7faf8}.shell main .matrix-sticky{background:#fff}
.shell main .badge{font-size:11px!important;font-weight:500!important;padding:3px 7px!important;border-radius:5px!important;line-height:1.3}
.shell main .badge-present,.shell main .badge-open{background:#e7f3eb!important;color:#3c7651!important}.shell main .badge-pending,.shell main .badge-draft{background:#f5f1e7!important;color:#8b7748!important}.shell main .badge-completed{background:#edf2fa!important;color:#5c7399!important}.shell main .badge-archived{background:#eff2f0!important;color:#76827a!important}
.shell main .alert{padding:10px 12px!important;border-radius:7px!important;margin-bottom:12px!important;font-size:12px}.shell main .alert-success{background:#edf7f0;color:#3a7050;border:1px solid #cfe5d6}.shell main .alert-error{background:#fdf1f2;color:#9a4954;border:1px solid #efced4}
.shell main .kpi-label{font-size:11px!important;font-weight:500!important;color:#6c7f72}.shell main .kpi-value{font-size:25px!important;font-weight:600!important;color:#315d41}
.shell main .kpi{border-top:2px solid #cfdfd3!important;background:linear-gradient(145deg,#fff,#f8fbf9)!important}.shell main .kpi:nth-child(4n+2){border-top-color:#cedbed!important}.shell main .kpi:nth-child(4n+3){border-top-color:#e6d9be!important}
.shell main .dashboard-status-tab{font-size:12px;padding:7px 10px;border-radius:6px}.shell main .dashboard-status-tab.active{background:#e5f1e9;border-color:#c1ddca;color:#326847}.shell main .dashboard-status-tab.active span{background:#cee5d6;color:#356c49}
.shell main .dashboard-kpi{padding:14px;border:1px solid var(--line);border-radius:9px;background:#fff}.shell main .dashboard-kpi strong{font-size:25px}.shell main .dashboard-event-card:hover{transform:none;box-shadow:0 3px 12px #24492e0d!important;border-color:#b7d2c0!important}
.shell main .dir-cat{border-radius:8px;border-left-width:3px;box-shadow:none;transform:none}.shell main .dir-cat:hover,.shell main .dir-cat.is-open{transform:none;box-shadow:0 2px 10px #264d3310}.shell main .dir-head{padding:11px 12px;font-size:13px;gap:9px}.shell main .dir-tool{padding:7px 9px;border-radius:6px;font-size:11px;font-weight:500}.shell main .dir-body{padding:4px 12px 10px}
.shell main .result-card{padding:12px!important;border-radius:8px!important;gap:10px}.shell main .result-name,.shell main .participant-name{font-size:13px!important;font-weight:550!important}.shell main .result-meta{font-size:12px}
.shell main .search-panel{background:#edf5ef;color:#3b674a;padding:14px;border:1px solid #d4e5d9;border-radius:9px}.shell main .search-panel .input{background:#fff!important}
.shell main .counter-filter{transition:background .16s,border-color .16s}.shell main .counter-filter:hover{background:#edf5ef}.shell main .progress{height:6px;border-radius:6px}.shell main .progress>span{background:#77a68a}
.shell main .empty{padding:25px 16px!important;font-size:12px}.shell main .ams-pagination a,.shell main .ams-pagination span{min-width:30px;height:30px;font-size:12px;border-radius:5px}.shell main .hr{margin:12px 0}
.shell main details>summary{font-size:12px;color:#50765c;cursor:pointer}.shell main .modal-card,.shell main .modal-panel{border-radius:10px;border:1px solid var(--line);padding:16px}
.ams-login .login-card{border:1px solid var(--line);border-radius:12px;padding:24px;background:#fff;box-shadow:0 8px 30px #2348310a}.ams-login .login-card h2{font-size:24px;color:#295a3d}.ams-login .login-card .input{border-radius:7px;border-color:#d7e3da;background:#fbfdfc}.ams-login .login-card .btn{border-radius:7px;font-size:13px}.ams-login .login-visual{background:linear-gradient(145deg,#173f2b,#367451)}
@media(max-width:640px){.shell main .page-head{align-items:flex-start}.shell main h1{font-size:21px!important}.shell main .card{padding:12px!important}.shell main .btn{min-height:36px!important}.shell main .input,.shell main .select,.shell main .textarea{font-size:16px!important}.shell main .tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}.shell main .tab{white-space:nowrap;flex-shrink:0}.shell main .dir-tools{flex-wrap:wrap}.shell main .kpi-value{font-size:23px!important}}
@media(prefers-reduced-motion:reduce){.shell *, .shell *::before, .shell *::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* Dashboard program status cards */
.shell main .dashboard-kpi{--tile-bg:#e1efff;--tile-line:#a9cff7;--tile-ink:#285f9c;background:var(--tile-bg)!important;border:1px solid var(--tile-line)!important;border-top:3px solid var(--tile-line)!important;position:relative;transition:transform .16s,box-shadow .16s,border-color .16s;cursor:pointer}
.shell main .dashboard-kpi-open{--tile-bg:#dcf6e5;--tile-line:#8bd6a8;--tile-ink:#21754a}
.shell main .dashboard-kpi-draft{--tile-bg:#fff2d1;--tile-line:#efcd75;--tile-ink:#8d6819}
.shell main .dashboard-kpi-completed{--tile-bg:#eee4ff;--tile-line:#c5a6ed;--tile-ink:#7550a6}
.shell main .dashboard-kpi-archived{--tile-bg:#ffeadc;--tile-line:#efb88f;--tile-ink:#9b5d30}
.shell main .dashboard-kpi span,.shell main .dashboard-kpi strong{color:var(--tile-ink)!important}.shell main .dashboard-kpi span{font-weight:550}.shell main .dashboard-kpi strong{font-weight:650}
.shell main .dashboard-kpi:hover{transform:translateY(-3px);box-shadow:0 6px 14px #24433314!important;border-color:var(--tile-ink)!important}
.shell main .dashboard-kpi:active{transform:translateY(0)}
.shell main .dashboard-kpi.active{box-shadow:inset 0 0 0 1px var(--tile-ink)!important;border-color:var(--tile-ink)!important}
.shell main .dashboard-kpi.active::after{content:'';position:absolute;width:6px;height:6px;right:7px;top:6px;border-radius:50%;background:var(--tile-ink)}
@media(prefers-reduced-motion:reduce){.shell main .dashboard-kpi:hover{transform:none}}
