*,*:before,*:after{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body{height:100%;margin:0;padding:0}body{font-family:Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.5;color:var(--text);background:var(--bg-soft)}a{color:inherit}:root{--navy: #0f1b2d;--primary: #1b4f8f;--primary-dark: #143d70;--primary-2: #2f6bb0;--primary-soft: #e8f0f9;--bg-soft: #f4f6f9;--blue: var(--primary);--accent: #d9902f;--bg: var(--bg-soft);--card: #ffffff;--line: #e3e8ef;--line-strong: #cfd7e2;--text: #2b3a4e;--muted: #5b6a7d;--ok: #2f7d57;--warn: #a8691a;--bad: #b83a3a;--radius: 8px;--ring: 0 0 0 3px rgba(27, 79, 143, .18)}.page{max-width:none;margin:0}.filters{display:flex;align-items:flex-end;gap:.75rem;flex-wrap:wrap}.filters .field{margin:0;min-width:170px}.filters .field.grow{flex:1;min-width:220px}.empty{text-align:center;padding:2.2rem 1rem;color:var(--muted)}.empty b{display:block;color:var(--text);font-size:.98rem;margin-bottom:.25rem}.empty span{font-size:.88rem}.empty .btn{margin-top:.9rem}.page-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}.page-head h1{font-size:1.5rem;margin:0;color:var(--navy)}.page-head p{margin:.25rem 0 0;color:var(--muted);font-size:.9rem}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:1.25rem;box-shadow:0 1px 2px #1018280a}.card h2{font-weight:600}.card+.card,.grid+.card,.alert+.card{margin-top:1rem}.card h2{margin:0 0 .75rem;font-size:1.05rem;color:var(--navy)}.grid{display:grid;gap:1rem}.grid.two{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.grid.three{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.9rem}.field label{font-size:.78rem;font-weight:600;color:var(--muted);letter-spacing:.01em}.field input,.field select,.field textarea,.input{width:100%;min-height:40px;border:1px solid var(--line-strong);border-radius:var(--radius);padding:.5rem .75rem;font:inherit;font-size:.92rem;background:#fff;color:var(--text);box-shadow:none;transition:border-color .15s,box-shadow .15s}.field textarea{min-height:84px;resize:vertical}.field input[type=date]{height:40px}.field select{appearance:none;-webkit-appearance:none;padding-right:2.1rem;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%236b7788' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right .8rem center}.field input::placeholder,.field textarea::placeholder{color:#a3adbb}.field input:hover,.field select:hover,.field textarea:hover{border-color:#b4c0cf}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--primary);box-shadow:var(--ring)}.field input:disabled,.field select:disabled,.field textarea:disabled{background:var(--bg-soft);color:var(--muted);cursor:not-allowed}.field .hint{font-size:.75rem;color:var(--muted)}.field .err{font-size:.75rem;color:var(--bad)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:1px solid transparent;border-radius:var(--radius);padding:.5rem 1rem;min-height:40px;font:inherit;font-size:.92rem;font-weight:600;cursor:pointer;background:var(--primary);color:#fff;text-decoration:none;box-shadow:none;transition:background .15s,border-color .15s,box-shadow .15s}.btn:hover:not(:disabled){background:var(--primary-dark)}.btn:focus-visible{outline:none;box-shadow:var(--ring)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.secondary{background:#fff;color:var(--text);border-color:var(--line-strong)}.btn.secondary:hover:not(:disabled){background:var(--bg-soft);border-color:#b4c0cf}.btn.danger{background:#fff;color:var(--bad);border-color:#efc3c3}.btn.danger:hover:not(:disabled){background:#fbe8e8;border-color:#e3a3a3}.btn.ok{background:var(--ok)}.btn.ok:hover:not(:disabled){background:#256646}.btn.small{padding:.3rem .7rem;min-height:32px;font-size:.84rem}.btn.wide{width:100%}.alert{border-radius:8px;padding:.7rem .9rem;font-size:.9rem;margin-bottom:1rem}.alert.error{background:#fff5f5;color:var(--bad);border:1px solid #fed7d7}.alert.info{background:var(--primary-soft);color:var(--primary-dark);border:1px solid #cfe0ef}.alert.success{background:#f0fff4;color:var(--ok);border:1px solid #c6f6d5}.alert.warn{background:#fffaf0;color:var(--warn);border:1px solid #feebc8}.table-wrap{overflow-x:auto}table.data{width:100%;border-collapse:collapse;font-size:.9rem}table.data th{text-align:left;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:.6rem .75rem;border-bottom:1px solid var(--line);white-space:nowrap}table.data td{padding:.65rem .75rem;border-bottom:1px solid #edf2f7;vertical-align:middle}table.data tr:hover td{background:#f8fafc}.num{text-align:right;font-variant-numeric:tabular-nums}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.badge{display:inline-block;padding:.15rem .55rem;border-radius:999px;font-size:.72rem;font-weight:700;background:#eef1f5;color:#4a5565;white-space:nowrap}.badge.ok{background:#e6f6ec;color:var(--ok)}.badge.warn{background:#fff4de;color:var(--warn)}.badge.bad{background:#fde8e8;color:var(--bad)}.badge.info{background:var(--primary-soft);color:var(--primary-dark)}.muted{color:var(--muted)}.row{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.spacer{flex:1}.kv{display:grid;grid-template-columns:160px 1fr;gap:.35rem 1rem;font-size:.92rem}.kv dt{color:var(--muted)}.kv dd{margin:0}.timeline{list-style:none;margin:0;padding:0 0 0 1rem;border-left:2px solid var(--line)}.timeline li{position:relative;padding:0 0 .9rem .9rem;font-size:.88rem}.timeline li:before{content:"";position:absolute;left:-1.38rem;top:.35rem;width:10px;height:10px;border-radius:50%;background:var(--blue)}@media print{.sidebar,.header,.page-head,.row button,.btn{display:none!important}body{background:#fff}.main,.content{margin:0!important;padding:0!important}.card{box-shadow:none;border:0}}table.data th{background:var(--bg-soft)}table.data tr:hover td{background:#fafbfd}table.data td{border-bottom-color:var(--line)}app-modal .body h2,app-modal h2.sub{font-size:1rem;color:var(--navy);margin:0 0 .6rem}.btn-primary{background:var(--primary);border-radius:var(--radius);box-shadow:none}.btn-primary:hover{background:var(--primary-dark)}.header-search{position:relative}.header-search .search-input{padding-left:2.4rem}.users-page a:not(.btn){color:var(--primary)}[footer]{display:flex;gap:.6rem;justify-content:flex-end;flex-wrap:wrap;width:100%}@media(max-width:899px){.btn{min-height:44px}.field input,.field select,.field textarea{min-height:44px;font-size:1rem}table.data{font-size:.85rem}.table-wrap{overflow-x:auto}}.empty{text-align:center;padding:2.5rem 1rem;color:var(--muted)}.empty .empty-icon{width:48px;height:48px;margin:0 auto .8rem;border-radius:12px;background:var(--primary-soft);color:var(--primary-dark);display:grid;place-items:center}.empty h3{margin:0 0 .3rem;font-size:1rem;color:var(--navy)}.empty p{margin:0 0 1rem;font-size:.9rem}.filter-bar{display:flex;gap:.8rem;flex-wrap:wrap;align-items:flex-end}.filter-bar .field{margin:0;min-width:160px}.filter-bar .field.grow{flex:1 1 260px}.filter-bar .btn{align-self:flex-end}.tabs{display:flex;gap:.25rem;overflow-x:auto;border-bottom:1px solid var(--line);margin:-.25rem 0 1rem}.tabs button{height:44px;padding:0 1rem;border:0;border-bottom:2px solid transparent;background:transparent;font:inherit;font-size:.9rem;font-weight:500;color:var(--muted);cursor:pointer;white-space:nowrap}.tabs button.on{color:var(--primary-dark);border-bottom-color:var(--primary);font-weight:650}.tabs button .count{margin-left:.4rem;padding:1px 8px;border-radius:999px;background:#eef1f5;font-size:.75rem;font-weight:600}.tabs button.on .count{background:var(--primary-soft)}table.data td{padding-top:.8rem;padding-bottom:.8rem}table.data tbody tr{cursor:default}.card h2{font-size:1rem}.alert{border-radius:10px}.btn.secondary.small,.btn.small{min-height:36px}:where(.page,app-modal) :where(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),select,textarea){min-height:40px;border:1px solid var(--line-strong);border-radius:var(--radius);padding:.45rem .75rem;font:inherit;font-size:.92rem;background-color:#fff;color:var(--text);box-sizing:border-box}:where(.page,app-modal) select{appearance:none;-webkit-appearance:none;padding-right:2.1rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%236b7788' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .8rem center}:where(.page,app-modal) :where(input,select,textarea):focus{outline:none;border-color:var(--primary);box-shadow:var(--ring)}td .btn+.btn,td .btn+a.btn,td a.btn+.btn,.row .btn+.btn{margin-left:.4rem}.grid>.card+.card,.grid>.card{margin-top:0}td .btn{white-space:nowrap}.badge{display:inline-flex;align-items:center;gap:.4rem}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.85}.row-link{cursor:pointer}.row-link:hover td{background:var(--bg-soft)}.row-link .ref{font-family:ui-monospace,SF Mono,Menlo,monospace;font-weight:600;color:var(--primary)}.row-link .who{color:var(--navy);font-weight:600}.row-link .sub{font-size:.8rem;margin-top:.1rem}.muted-c{color:var(--muted)}.mono-n{font-variant-numeric:tabular-nums;font-weight:600;color:var(--navy)}.row-link .chev{color:var(--line-strong);text-align:right;font-size:1.3rem;width:1.5rem}input[type=checkbox],input[type=radio]{accent-color:var(--primary)}table.data tbody tr:hover td{background:#fafbfd}table.data td{vertical-align:middle}.card h2{color:var(--navy)}.badge{text-transform:none}
