:root{color-scheme:light;--bg: #f5f7fb;--card: #ffffff;--border: #d8dee8;--text: #172033;--muted: #5f6f86;--primary: #1848b8;--primary-soft: #e8efff;--danger: #c4382f;--success: #1c7c3a;font-family:Arial,Hiragino Kaku Gothic ProN,Yu Gothic,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}a{color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}.shell{max-width:1180px;margin:0 auto;padding:24px 16px 48px}.hero-grid{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.hero-card{grid-column:1 / -1;min-height:100%}.card{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:20px;box-shadow:0 10px 30px #1720330f}.hero-grid h1{margin:0 0 12px;font-size:32px}.hero-grid p{margin:0;color:var(--muted);line-height:1.6}.badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.badge{background:var(--primary-soft);color:var(--primary);border-radius:999px;padding:6px 10px;font-size:13px;font-weight:700}.auth-row,.toolbar,.grid-2,.device-row,.header-bar{display:flex;gap:12px;flex-wrap:wrap}.header-bar{justify-content:space-between;align-items:center;margin-bottom:16px}.auth-row{align-items:center}.primary,.secondary,.danger{border:none;border-radius:12px;padding:11px 15px;font-weight:700}.primary{background:var(--primary);color:#fff}.google-signin{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--border);border-radius:12px;padding:11px 15px;font-weight:700;background:#fff;color:var(--text)}.google-signin svg{width:20px;height:20px;flex:0 0 20px}.secondary{background:#edf1f7;color:var(--text)}.danger{background:#fdecec;color:var(--danger)}.primary:disabled,.secondary:disabled,.danger:disabled,button:disabled{cursor:not-allowed;opacity:.65}.cards-row{grid-column:1 / -1;display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.auth-only-row{grid-column:1 / -1;max-width:520px;width:100%}.grid-2{display:grid;grid-template-columns:1.1fr .9fr;align-items:start}.stack{display:grid;gap:16px}.form-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px}.form-intro{max-width:42ch;line-height:1.45}.field{display:grid;gap:6px;margin-bottom:14px}.field label{font-weight:700;font-size:14px}.field input,.field select,.field textarea{border:1px solid var(--border);border-radius:12px;padding:11px 12px;background:#fff}.field textarea{min-height:96px;resize:vertical}.field input::placeholder,.field textarea::placeholder{color:#8a96a8}.field small{color:var(--muted)}.field.grow{flex:1 1 360px}.mac-assist{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.notice{border-radius:12px;padding:12px 14px;font-size:14px}.notice.info{background:#edf5ff;color:#1c4c85}.notice.error{background:#fdecec;color:var(--danger)}.notice.success{background:#ebf8ef;color:var(--success)}.list{display:grid;gap:12px}.device-item{border:1px solid var(--border);border-radius:14px;padding:16px;background:#fff}.device-item h3{margin:0 0 6px}.device-note{margin:10px 0 0;line-height:1.5}.empty-state{border:1px dashed var(--border);border-radius:14px;padding:16px;background:#fbfcff}.muted{color:var(--muted)}.actions{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.05em}details{border:1px solid var(--border);border-radius:12px;padding:10px 12px;background:#fff}summary{cursor:pointer;font-weight:700}ul.steps{margin:10px 0 0 18px;color:var(--muted)}.limit-bar{height:10px;background:#edf1f7;border-radius:999px;overflow:hidden}.limit-bar>span{display:block;height:100%;background:var(--primary)}.footer-note{margin-top:12px;font-size:13px;color:var(--muted)}.admin-section{margin-top:4px}.admin-form{display:flex;gap:12px;flex-wrap:wrap;align-items:end}.admin-status{min-width:180px}.admin-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:14px}.admin-table{width:100%;border-collapse:collapse;min-width:760px;background:#fff}.admin-table th,.admin-table td{padding:12px 14px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.admin-table thead th{background:#f7f9fd;font-size:13px}.admin-table tbody tr:last-child td{border-bottom:none}@media(max-width:900px){.hero-grid,.cards-row,.grid-2{grid-template-columns:1fr}.admin-form{align-items:stretch}}
