*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#1a1a1a;background:#fff;font-size:14px;line-height:1.5}a{color:inherit}.app{display:flex;min-height:100vh}.sidebar{width:220px;flex-shrink:0;background:#f7f7f8;border-right:1px solid #e5e5e7;padding:20px 12px}.sidebar .brand{font-size:18px;font-weight:600;padding:4px 12px 20px}.sidebar nav{display:flex;flex-direction:column;gap:2px}.sidebar nav a{display:block;padding:8px 12px;border-radius:6px;text-decoration:none;color:#4a4a4a}.sidebar nav a:hover{background:#ececee;color:#1a1a1a}.sidebar nav a.active{background:#1a1a1a;color:#fff}.content{flex:1;padding:24px 32px;overflow:auto;min-width:0}.content h1{font-size:22px;font-weight:600;margin-bottom:16px}.content h2{font-size:16px;font-weight:600;margin:24px 0 8px}input,select,textarea{font:inherit;font-size:13px;padding:6px 10px;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#1a1a1a;outline:none;transition:border-color .15s,box-shadow .15s;-moz-appearance:none;appearance:none;-webkit-appearance:none}select{padding-right:28px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23888' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 9px center}input[type=search]::-webkit-search-cancel-button{cursor:pointer}input:focus,select:focus,textarea:focus{border-color:#1a1a1a;box-shadow:0 0 0 3px #1a1a1a14}input:disabled,select:disabled,textarea:disabled{background:#f3f4f6;color:#9ca3af;cursor:not-allowed}input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}button{font:inherit;padding:7px 14px;border:1px solid #1a1a1a;background:#1a1a1a;color:#fff;border-radius:6px;cursor:pointer;font-size:13px;transition:background .15s}button:hover{background:#333}button:disabled{opacity:.5;cursor:default}button.secondary{background:transparent;color:#1a1a1a;border-color:#d1d5db}button.secondary:hover{background:#f3f4f6}table{width:100%;border-collapse:collapse;margin-top:12px}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid #eee;vertical-align:top}th{font-weight:600;background:#fafafa;font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:#666}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.card{border:1px solid #e5e5e7;border-radius:8px;padding:16px;background:#fff}.muted{color:#888}.error{color:#c0392b}.stack-v{display:flex;flex-direction:column;gap:12px}.stack-h{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.label-caps{font-size:11px;text-transform:uppercase;color:#666;letter-spacing:.05em}.btn-toggle{font-size:12px;padding:4px 10px;border:1px solid #d1d5db;background:#fff;color:#4a4a4a;border-radius:6px;cursor:pointer}.btn-toggle:hover{background:#f3f4f6;color:#1a1a1a}.status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.status-grid .card .count{font-size:28px;font-weight:600;font-variant-numeric:tabular-nums}.status-grid .card .label{text-transform:uppercase;font-size:11px;color:#666;letter-spacing:.05em;margin-bottom:4px}.status-grid .card .when{color:#888;font-size:12px;margin-top:6px}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:#f7f7f8}.login-card{background:#fff;border:1px solid #e5e5e7;border-radius:12px;padding:40px 36px;text-align:center;width:320px}.login-card .brand{font-size:24px;font-weight:700;margin-bottom:8px}.login-card p{color:#666;font-size:13px;margin-bottom:24px}.login-error{background:#fff5f5;border:1px solid #fed7d7;color:#c0392b;border-radius:6px;padding:8px 12px;font-size:13px;margin-bottom:16px}.btn-google{display:inline-flex;align-items:center;gap:10px;padding:10px 20px;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#1a1a1a;font-size:14px;text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s}.btn-google:hover{background:#f3f4f6;border-color:#9ca3af}.sidebar{display:flex;flex-direction:column}.sidebar nav{flex:1}.sidebar-user{margin-top:auto;padding-top:16px;border-top:1px solid #e5e5e7;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sidebar-user img{width:28px;height:28px;border-radius:50%;flex-shrink:0}.sidebar-user span{flex:1;font-size:12px;color:#444;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user button{font-size:11px;padding:3px 8px;background:transparent;color:#666;border-color:#d1d5db}.sidebar-user button:hover{background:#f3f4f6;color:#1a1a1a}@media(max-width:720px){.app{flex-direction:column}.sidebar{width:100%;border-right:none;border-bottom:1px solid #e5e5e7;padding:12px}.sidebar .brand{padding:4px 8px 12px}.sidebar nav{flex-direction:row;overflow-x:auto}.sidebar nav a{white-space:nowrap}.content{padding:16px}.workspace-grid{grid-template-columns:1fr}}
