:root{--summit-green: #00843d;--summit-green-light: #e6f4ec;--summit-slate: #4b4f54;--summit-dark: #1a2633;--white: #ffffff;--burnt-orange: #cd8046;--moss: #3b5a57;--gray-green: #bac8ca;--border: #e5e2df;--muted: #7a7e83}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:Verdana,Geneva,sans-serif;font-size:14px;line-height:1.5;color:var(--summit-slate);background:var(--white)}a{color:inherit}header.bar{background:var(--summit-dark);border-bottom:3px solid var(--summit-green);height:64px;padding:0 28px;display:flex;align-items:center;gap:16px;position:sticky;top:0;z-index:20}header.bar img.logo{height:34px;width:auto;display:block;background:transparent;filter:brightness(0) invert(1)}header.bar .header-divider{width:1px;height:32px;background:#ffffff2e}header.bar .dept{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--summit-green);font-weight:700;line-height:1.3}header.bar h1{font-size:18px;margin:0;font-weight:700;color:#fff;line-height:1.1}header.bar .spacer{flex:1}header.bar .banner-user{color:#ffffffd9;font-size:12px;display:flex;align-items:center;gap:14px}header.bar .banner-user a{color:#ffffffd9;text-decoration:none}header.bar .banner-user a:hover{color:#fff;text-decoration:underline}.content{max-width:1100px;margin:0 auto;padding:32px 28px}.page-title{font-size:20px;font-weight:400;color:var(--summit-slate);margin:0 0 4px}.page-sub{color:var(--muted);margin:0 0 24px;font-size:13px}.section-label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700;margin:24px 0 10px}.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}.tile{display:flex;gap:14px;align-items:flex-start;padding:18px;background:var(--white);border:1px solid var(--border);border-radius:8px;text-decoration:none;color:var(--summit-slate);transition:box-shadow .15s ease,border-color .15s ease}.tile:hover{box-shadow:0 2px 10px #1f2a3314;border-color:var(--gray-green)}.tile.disabled{opacity:.6;cursor:default;pointer-events:none}.tile .badge{width:40px;height:40px;flex-shrink:0;border-radius:8px;background:var(--summit-green-light);color:var(--summit-green);display:flex;align-items:center;justify-content:center}.tile .badge svg{width:22px;height:22px}.tile .t-name{font-weight:700;font-size:15px;margin:0 0 2px}.tile .t-desc{color:var(--muted);font-size:12px;margin:0 0 8px}.tile .t-meta{display:flex;gap:8px;align-items:center}.role-chip{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--summit-green);background:var(--summit-green-light);padding:2px 8px;border-radius:10px}.soon-chip{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--burnt-orange);background:#f6ece4;padding:2px 8px;border-radius:10px}.card{max-width:380px;margin:8vh auto;padding:28px;border:1px solid var(--border);border-radius:10px;background:var(--white)}.field{margin-bottom:14px}.field label{display:block;font-size:12px;font-weight:700;margin-bottom:6px}.field input{width:100%;padding:9px 10px;font-family:inherit;font-size:14px;border:1px solid var(--border);border-radius:6px}.field input:focus{outline:none;border-color:var(--summit-green)}.btn{display:inline-block;padding:9px 16px;font-family:inherit;font-size:14px;font-weight:700;color:#fff;background:var(--summit-green);border:none;border-radius:6px;cursor:pointer}.btn:hover{background:#026f34}.btn:disabled{opacity:.6;cursor:default}.error{color:var(--burnt-orange);font-size:13px;margin:10px 0 0}.hint{color:var(--muted);font-size:12px;margin-top:16px}.empty{text-align:center;padding:48px 24px;color:var(--muted)}.empty h2{color:var(--summit-slate);font-weight:400;font-size:20px}.app{display:flex;flex-direction:column;height:100vh}.app .body{display:flex;flex:1;min-height:0}nav.sidebar{width:220px;flex-shrink:0;background:var(--white);border-right:.5px solid var(--border);display:flex;flex-direction:column;overflow-y:auto}.nav-group-label{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:16px 18px 6px}.nav-item{display:flex;align-items:center;gap:10px;padding:9px 18px;font-size:13px;color:var(--summit-slate);text-decoration:none;border-left:3px solid transparent;cursor:pointer}.nav-item:hover{background:#f1efe8}.nav-item.active{background:var(--summit-green-light);color:var(--summit-green);border-left-color:var(--summit-green);font-weight:500}.admin-content{flex:1;overflow-y:auto;padding:28px}table.data{width:100%;border-collapse:collapse;font-size:13px}table.data th{text-align:left;background:var(--white);color:var(--summit-slate);font-weight:700;border-bottom:2px solid var(--border);padding:9px 12px;white-space:nowrap}table.data td{padding:9px 12px;border-bottom:1px solid var(--border);vertical-align:middle}table.data tr:hover td{background:#faf9f7}.tbl-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:8px}select,input.inp{font-family:inherit;font-size:13px;padding:5px 8px;border:1px solid var(--border);border-radius:6px;background:#fff}select:focus,input.inp:focus{outline:none;border-color:var(--summit-green)}.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:16px;flex-wrap:wrap}.btn.ghost{background:#fff;color:var(--summit-green);border:1px solid var(--summit-green)}.btn.ghost:hover{background:var(--summit-green-light)}.btn.small{padding:5px 10px;font-size:12px}.pill{font-size:11px;padding:2px 8px;border-radius:10px;font-weight:700}.pill.on{color:var(--summit-green);background:var(--summit-green-light)}.pill.off{color:var(--muted);background:#f1efe8}.notice{font-size:13px;padding:10px 12px;border-radius:6px;margin-bottom:14px}.notice.ok{color:var(--summit-green);background:var(--summit-green-light)}.notice.warn{color:var(--burnt-orange);background:#f6ece4}.mono{font-family:Consolas,monospace;font-size:12px}
