:root{--bg:#f6f7f9;--panel:#ffffff;--border:#e4e6eb;--border-strong:#d3d6dd;--text:#17181c;--muted:#666975;--accent:#9c4e37;--accent-hover:#86402c;--accent-soft:#f8ede6;--accent-soft-border:#edd3c4;--danger:#b42318;--ok:#067647;--warning:#92400e;--radius-sm:6px;--radius:8px;--radius-lg:12px;--shadow-sm:0 1px 2px rgba(23,24,28,0.04),0 1px 3px rgba(23,24,28,0.06);--shadow-md:0 2px 6px rgba(23,24,28,0.06),0 8px 24px rgba(23,24,28,0.06);--ring:0 0 0 3px rgba(156,78,55,0.35);--transition:150ms ease-out;--transition-slow:220ms ease-out}@media (prefers-reduced-motion:reduce){:root{--transition:0ms;--transition-slow:0ms}}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}a{color:var(--accent);text-decoration:none;transition:color var(--transition)}a:hover{text-decoration:underline}h1{font-size:1.5rem;line-height:1.25;letter-spacing:-.01em;margin:0 0 4px}h2{font-size:1.1rem;line-height:1.3;letter-spacing:-.005em;margin:0 0 8px}h3{font-size:.95rem;margin:20px 0 8px}.muted{color:var(--muted)}:focus-visible{outline:none;box-shadow:var(--ring);border-color:var(--accent)}a:focus-visible{border-radius:3px;box-shadow:var(--ring)}label{display:block;font-size:.85rem;color:var(--muted);margin:12px 0 4px}input,select,textarea{width:100%;padding:8px 10px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--panel);color:var(--text);font:inherit;transition:border-color var(--transition),box-shadow var(--transition)}input::placeholder,textarea::placeholder{color:#9a9daa}textarea{resize:vertical}button{font:inherit;font-weight:500;padding:8px 14px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--panel);color:var(--text);cursor:pointer;transition:background var(--transition),border-color var(--transition),box-shadow var(--transition),color var(--transition)}button:hover:not(:disabled){background:var(--bg);border-color:var(--muted)}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}button:disabled{opacity:.5;cursor:not-allowed}button.danger{background:var(--danger);border-color:var(--danger);color:#fff}button.danger:hover:not(:disabled){filter:brightness(.92)}.modal-overlay{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(26,26,30,.5)}.modal-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md,10px);box-shadow:0 12px 40px rgba(0,0,0,.25);padding:20px 22px;width:100%;max-width:460px}.modal-title{margin:0 0 10px;font-size:1.1rem}.modal-message{margin:0 0 12px;white-space:pre-wrap}.modal-card input,.modal-card textarea{width:100%}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.error{color:var(--danger);margin-top:10px}.error,.notice{font-size:.9rem}.notice{background:#fff8e6;border:1px solid #f0d98c;border-radius:var(--radius-sm);padding:10px 12px;margin-top:12px}.mono{font-family:ui-monospace,Cascadia Code,Consolas,monospace;overflow-wrap:anywhere}.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.auth-card{width:100%;max-width:420px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px;box-shadow:var(--shadow-md)}.shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.sidebar{background:var(--panel);border-right:1px solid var(--border);padding:20px 14px;display:flex;flex-direction:column;gap:6px}.sidebar .brand{font-weight:700;padding:4px 8px 14px}.nav-section{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:14px 8px 4px}.nav-item{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;border-radius:var(--radius-sm);color:var(--text);transition:background var(--transition),color var(--transition)}.nav-item:hover{text-decoration:none;background:var(--bg)}.nav-item.current{background:var(--accent-soft);color:var(--accent);font-weight:600}.nav-item.disabled{color:var(--muted);cursor:default}.nav-item .tag{font-size:.65rem;color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:1px 7px;white-space:nowrap}.main{display:flex;flex-direction:column;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;padding:12px 24px;border-bottom:1px solid var(--border);background:var(--panel)}.topbar .who{font-size:.85rem;color:var(--muted)}.content{padding:24px}.toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-bottom:16px}.toolbar .field{display:flex;flex-direction:column}.toolbar label{margin:0 0 4px}.toolbar input,.toolbar select{width:auto}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow-sm)}table{border-collapse:collapse;width:100%;font-size:.88rem}td,th{text-align:left;padding:10px 14px;border-bottom:1px solid var(--border);vertical-align:top}th{background:var(--bg);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);position:-webkit-sticky;position:sticky;top:0;box-shadow:inset 0 -1px 0 var(--border-strong);border-bottom:none;white-space:nowrap}tbody tr{transition:background var(--transition)}tbody tr:hover{background:#fafbfc}tbody tr:last-child td{border-bottom:none}.badge,td .mono,td.mono{white-space:nowrap}.badge{display:inline-block;font-size:.72rem;font-weight:600;padding:3px 9px;border-radius:999px;line-height:1.4}.badge.success{background:#e7f5ee;color:var(--ok)}.badge.denied,.badge.error{background:#fdecea;color:var(--danger)}.badge.info{background:var(--accent-soft);color:var(--accent)}.badge.neutral{background:var(--bg);color:var(--muted);border:1px solid var(--border)}.badge.warning{background:#fff4e0;color:#92400e}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-sm)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:12px;gap:12px;margin-bottom:24px}.stat-tile{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow-sm);transition:box-shadow var(--transition),border-color var(--transition)}.stat-tile:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong)}.stat-tile .stat-value{font-size:1.9rem;font-weight:700;line-height:1.15;letter-spacing:-.02em}.stat-tile .stat-label{font-size:.8rem;color:var(--muted);margin-top:2px}.stat-tile .stat-sub{font-size:.78rem;color:var(--muted);margin-top:6px}.activity-list{list-style:none;margin:0;padding:0}.activity-list li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--border);font-size:.88rem}.activity-list li:last-child{border-bottom:none}.activity-main{min-width:0}.activity-when{color:var(--muted);font-size:.8rem;white-space:nowrap}.tab-strip{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px;align-items:center}.tab{padding:6px 12px;border:1px solid var(--border);border-radius:6px;background:var(--panel);cursor:pointer;font:inherit;font-size:.85rem;color:var(--text)}.tab.current{background:var(--accent);border-color:var(--accent);color:#fff}.tab-remove{margin-left:6px;opacity:.75}.notice-body{white-space:pre-wrap;border:1px solid var(--border);border-radius:6px;padding:10px 12px;background:var(--bg);font-size:.9rem}.clock-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:12px;gap:12px;margin-top:20px}.clock-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow-sm)}.clock-card label{font-size:1rem;font-weight:600;color:var(--text);margin:2px 0 6px}.clock-card input{width:auto}.clock-kicker{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-family:ui-monospace,Cascadia Code,Consolas,monospace}.clock-help{font-size:.82rem;color:var(--muted);margin:10px 0 0}.clock-question{margin-top:12px;background:var(--accent-soft);border:1px solid var(--accent-soft-border);border-radius:var(--radius);padding:12px 14px;font-size:.9rem}.portal-wrap{min-height:100vh;padding:20px 14px;display:flex;justify-content:center}.portal-card{width:100%;max-width:440px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;align-self:flex-start;box-shadow:var(--shadow-md)}@media (min-width:480px){.portal-wrap{padding:40px 20px}.portal-card{padding:28px}}.portal-kicker{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.portal-form label:first-of-type{margin-top:16px}.portal-actions{display:flex;flex-direction:column;gap:10px;margin-top:18px}.portal-actions button{width:100%;padding:12px 14px;font-size:1rem}@media (min-width:480px){.portal-actions{flex-direction:row}.portal-actions button{width:auto}}.portal-confirmation{text-align:center;padding:8px 0}.portal-check{width:52px;height:52px;line-height:52px;border-radius:50%;background:#e7f5ee;color:var(--ok);font-size:1.6rem;margin:0 auto 14px}.portal-reference{font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:1.3rem;font-weight:700;letter-spacing:.03em;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:14px;margin:14px 0;word-break:break-all}.portal-status-link{display:inline-block;margin-top:8px;font-size:.9rem}.tour-overlay{inset:0;z-index:50;background:rgba(26,26,30,.45)}.tour-overlay,.tour-ring{position:fixed;pointer-events:none}.tour-ring{z-index:51;border:2px solid var(--accent);border-radius:8px;box-shadow:0 0 0 9999px rgba(26,26,30,.45);transition:top .15s ease,left .15s ease,width .15s ease,height .15s ease}@media (prefers-reduced-motion:reduce){.tour-ring{transition:none}}.tour-overlay.has-ring{background:transparent}.tour-card{position:fixed;z-index:52;width:min(420px,calc(100vw - 32px));pointer-events:auto;box-shadow:0 10px 30px rgba(26,26,30,.18)}.tour-card .tour-step-count{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.tour-card .tour-actions{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:16px}.tour-card .tour-actions-right{display:flex;gap:8px}.tour-progress{display:flex;gap:4px;margin-top:14px}.tour-progress span{height:3px;flex:1 1;border-radius:999px;background:var(--border)}.tour-progress span.done{background:var(--accent)}.timeline{list-style:none;margin:0;padding:0 0 0 18px;border-left:2px solid var(--border)}.timeline-item{position:relative;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;margin-bottom:12px;box-shadow:var(--shadow-sm)}.timeline-item:before{content:"";position:absolute;left:-25px;top:20px;width:10px;height:10px;border-radius:50%;background:var(--panel);border:2px solid var(--muted)}.timeline-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.timeline-times{display:flex;gap:20px;flex-wrap:wrap}.timeline-notice,.timeline-times{margin-top:8px;font-size:.85rem}.timeline-evidence{margin-top:10px;padding-top:10px;border-top:1px solid var(--border);font-size:.82rem}@keyframes content-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.content{animation:content-fade-in var(--transition-slow) both}@keyframes panel-reveal{0%{opacity:0;transform:translateY(-4px) scaleY(.98);transform-origin:top}to{opacity:1;transform:translateY(0) scaleY(1)}}.reveal{animation:panel-reveal var(--transition-slow) both}@media (prefers-reduced-motion:reduce){.content,.reveal{animation:none}}.toast-stack{position:fixed;right:20px;bottom:20px;z-index:60;display:flex;flex-direction:column;gap:8px;max-width:min(360px,calc(100vw - 40px))}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.toast{background:var(--panel);border:1px solid var(--border-strong);border-left:3px solid var(--ok);border-radius:var(--radius);padding:10px 14px;font-size:.88rem;box-shadow:var(--shadow-md);cursor:pointer;animation:toast-in var(--transition-slow) both}.toast-error{border-left-color:var(--danger)}@media (prefers-reduced-motion:reduce){.toast{animation:none}}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:18px}.page-header h1{margin-bottom:4px}.page-header-actions{display:flex;gap:10px;flex-shrink:0;flex-wrap:wrap}.subtabs{display:flex;gap:20px;border-bottom:1px solid var(--border);flex-wrap:wrap}.subtab{display:inline-block;padding:9px 1px;color:var(--muted);font-size:.92rem;font-weight:500;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color var(--transition),border-color var(--transition)}.subtab:hover{color:var(--text);text-decoration:none}.subtab.current{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}button.link-button{background:transparent;border:none;padding:0;color:var(--accent);font-weight:500;border-radius:2px}button.link-button:hover:not(:disabled){background:transparent;border-color:transparent;text-decoration:underline}.nav-icon{width:17px;height:17px;flex-shrink:0}.nav-item-label{display:flex;align-items:center;gap:10px;min-width:0}.entry-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:14px;gap:14px}.entry-card{display:flex;flex-direction:column;gap:12px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow-sm);transition:box-shadow var(--transition),border-color var(--transition)}.entry-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong)}.entry-card-title{font-weight:600;font-size:1rem;line-height:1.3;overflow-wrap:anywhere}.entry-card-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px 16px;gap:10px 16px}.entry-card-field{min-width:0}.entry-card-field .field-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:2px}.entry-card-field .field-value{font-size:.88rem;overflow-wrap:anywhere}.entry-card-field .field-value.status-active{color:var(--accent);font-weight:700}.entry-card-field .field-value.status-muted{color:var(--muted);font-weight:600}.entry-card-footer{display:flex;justify-content:flex-end;margin-top:auto;padding-top:12px;border-top:1px solid var(--border)}