:root{--bg: #f0ebe2;--surface: #faf8f4;--surface-muted: #f0ebe2;--border: rgba(30, 24, 18, .14);--border-strong: rgba(30, 24, 18, .32);--ink: #171411;--muted: #6b6258;--muted-soft: #9a9088;--accent: #0e6e55;--accent-soft: #d4ebe3;--danger: #a13f33;--danger-soft: #f0dbd7;--sidebar: #141716;--sidebar-border: rgba(255, 255, 255, .1);--sidebar-ink: #f0ede7;--sidebar-muted: #8a8278;--font-sans: "Avenir Next", "Segoe UI", "Helvetica Neue", sans-serif;--font-serif: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif;--font-mono: "SF Mono", "IBM Plex Mono", "Roboto Mono", monospace}*,*:before,*:after{box-sizing:border-box}html,body{height:100%}html{background:var(--bg)}body{margin:0;overflow:hidden;font-family:var(--font-sans);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer;border:0;background:none;color:inherit}input{width:100%;padding:.7rem .8rem;border:1px solid var(--border);background:var(--surface);color:var(--ink);outline:none;transition:border-color .12s ease}input:focus{border-color:var(--border-strong)}.eyebrow{margin:0 0 .3rem;font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.brand-lockup{display:flex;align-items:center;gap:10px}.brand-mark{width:14px;height:14px;background:var(--accent);flex-shrink:0}.brand-name{font-family:var(--font-serif);font-size:1.2rem;letter-spacing:-.03em}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;padding:.55rem .9rem;border:1px solid var(--border);font-size:.84rem;font-weight:600;transition:border-color .12s ease,background .12s ease}.primary-button{background:var(--accent);border-color:var(--accent);color:#fff}.secondary-button{background:var(--surface);color:var(--ink)}.primary-button:hover:enabled{background:#0a5c46;border-color:#0a5c46}.secondary-button:hover{border-color:var(--border-strong)}.primary-button:disabled{opacity:.4;cursor:not-allowed}.subtle-button{width:100%;padding:.45rem .7rem;font-size:.78rem;background:#ffffff0d;border-color:var(--sidebar-border);color:var(--sidebar-ink)}.subtle-button:hover{background:#ffffff17;border-color:#ffffff2e}.inline-form{margin:0}.auth-root{display:grid;place-items:center;min-height:100dvh;padding:32px}.auth-panel{width:min(900px,100%);display:grid;grid-template-columns:minmax(240px,.85fr) minmax(300px,1.15fr);border:1px solid var(--border-strong);overflow:hidden;background:var(--surface)}.auth-panel-visual{display:flex;flex-direction:column;justify-content:space-between;padding:28px;color:var(--sidebar-ink);background:var(--sidebar);border-right:1px solid var(--sidebar-border)}.auth-panel-visual .eyebrow{color:var(--sidebar-muted)}.auth-mark{display:grid;gap:6px}.auth-mark span{display:inline-flex;align-self:start;padding:.35rem .6rem;border:1px solid var(--sidebar-border);background:#ffffff0a;color:var(--sidebar-muted);font-size:.78rem;font-family:var(--font-mono)}.auth-panel-content{display:grid;align-content:center;gap:14px;padding:36px}.auth-panel-content .eyebrow{color:var(--muted)}.auth-title{margin:0;font-family:var(--font-serif);font-size:clamp(1.8rem,4vw,2.8rem);line-height:1;letter-spacing:-.04em}.auth-copy,.panel-copy,.shell-copy,.shell-user-copy p,.identity-content p,.form-message,.form-error,.page-copy,.key-activity span,.auth-error{margin:0;color:var(--muted);line-height:1.5;font-size:.88rem}.auth-error,.form-error{color:var(--danger)}.auth-button{justify-self:start;margin-top:6px}.app-shell{height:100dvh;display:grid;grid-template-columns:220px minmax(0,1fr)}.shell-sidebar{display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:0;overflow:hidden;background:var(--sidebar);color:var(--sidebar-ink);border-right:1px solid var(--sidebar-border)}.shell-brand{padding:16px;border-bottom:1px solid var(--sidebar-border)}.shell-brand .eyebrow{color:var(--sidebar-muted)}.shell-copy{display:none}.shell-nav{display:grid;gap:0;padding:8px 0;border-bottom:1px solid var(--sidebar-border)}.shell-nav-label{padding:6px 16px;font-size:.65rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--sidebar-muted)}.shell-nav-link{display:flex;align-items:center;padding:7px 16px;font-size:.84rem;font-weight:400;color:var(--sidebar-muted);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;border-left:2px solid transparent}.shell-nav-link:hover{color:var(--sidebar-ink);background:#ffffff0a}.shell-nav-link-active{color:var(--sidebar-ink);border-left-color:var(--accent);background:#ffffff0d}.shell-sidebar-footer{display:flex;flex-direction:column;justify-content:end;min-height:0;padding:12px;border-top:1px solid var(--sidebar-border)}.shell-user{display:flex;align-items:center;gap:8px;min-width:0;margin-bottom:8px}.shell-avatar{width:28px;height:28px;overflow:hidden;flex-shrink:0;background:#2a2e2c}.identity-avatar{width:44px;height:44px;overflow:hidden;flex-shrink:0;background:#2a2e2c}.shell-avatar img,.identity-avatar img{width:100%;height:100%;object-fit:cover}.shell-user-copy{min-width:0;overflow:hidden}.shell-user-copy strong,.shell-user-copy p{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.shell-user-copy strong{font-size:.82rem;font-weight:600}.shell-user-copy p{font-size:.74rem;color:var(--sidebar-muted)}.shell-footer-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.app-main{min-width:0;min-height:0;background:var(--bg)}.app-main-scroll{height:100%;overflow:auto;padding:24px;display:flex;flex-direction:column}.page{display:flex;flex-direction:column;gap:16px;flex:1;min-height:0}.page-header{display:flex;align-items:start;justify-content:space-between;gap:16px;padding-bottom:16px;border-bottom:1px solid var(--border)}.page-header .eyebrow,.content-card-header .eyebrow{color:var(--muted)}.page-title{margin:0;font-family:var(--font-serif);font-size:clamp(1.6rem,3vw,2.2rem);line-height:1;letter-spacing:-.03em}.content-card{display:grid;gap:14px;padding:16px;border:1px solid var(--border);background:var(--surface)}.content-card-header,.content-actions,.table-header{display:flex;align-items:start;justify-content:space-between;gap:16px}.content-card-title{margin:0;font-size:1.1rem;letter-spacing:-.02em}.placeholder-grid,.auth-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.stat-card{gap:4px}.stat-value{font-family:var(--font-serif);font-size:1.8rem;letter-spacing:-.03em;color:var(--ink)}.stat-value-sm{font-size:1.1rem}.placeholder-card,.empty-card{min-height:160px;align-content:start}.identity-card{display:flex;align-items:center;gap:14px;padding:14px;border:1px solid var(--border);background:var(--surface-muted)}.identity-content h3{margin:0 0 .2rem;font-size:1rem}.identity-link{display:inline-flex;align-items:center;margin-top:.4rem;color:var(--accent);font-size:.84rem}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.detail-stack{display:grid;gap:8px}.detail-item{display:grid;gap:3px;padding:10px 12px;border:1px solid var(--border);background:var(--surface-muted)}.detail-label{color:var(--muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.08em}.detail-value{font-weight:600;font-size:.88rem}.key-create-row{display:flex;gap:8px;align-items:center;padding-bottom:12px;border-bottom:1px solid var(--border)}.key-create-row input{max-width:260px}.field{display:grid;gap:6px}.field span,.field label{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.state-pill{display:inline-flex;align-items:center;padding:.25rem .5rem;border:1px solid var(--border);background:var(--surface-muted);color:var(--muted);font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;font-family:var(--font-mono)}.connected-pill{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.neutral-pill{color:var(--ink)}.revoked-pill{border-color:var(--danger);background:var(--danger-soft);color:var(--danger)}.secret-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--accent);background:var(--accent-soft)}.secret-copy{display:grid;gap:4px;min-width:0}.secret-card code,.key-main-prefix{font-family:var(--font-mono);font-size:.8rem}.secret-card code{display:block;max-width:100%;overflow-x:auto;color:var(--ink)}.table-panel{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;flex:1}.table-summary{display:flex;gap:8px}.table-summary-item{display:grid;gap:2px;padding:8px 12px;border:1px solid var(--border);background:var(--surface-muted)}.table-summary-item span,.key-table-header,.table-label,.key-action-muted{color:var(--muted);font-size:.76rem}.table-summary-item strong{font-weight:600;font-size:.88rem}.key-table{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr)}.key-table-header{display:grid;grid-template-columns:1fr 1fr 1fr 120px;gap:16px;padding:6px 12px 8px;font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid var(--border)}.key-table-body{min-height:0;overflow:auto;display:grid;align-content:start}.key-table-row{display:grid;grid-template-columns:1fr 1fr 1fr 120px;gap:16px;padding:12px;border-bottom:1px solid var(--border);background:var(--surface)}.key-table-row:hover{background:var(--surface-muted)}.key-cell{display:grid;align-content:start;gap:6px}.key-main-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.key-main-title{font-size:.88rem;font-weight:600}.key-main-prefix{color:var(--muted)}.key-date{font-size:.82rem;color:var(--muted)}.sandbox-split{display:grid;grid-template-columns:1fr;gap:12px;min-height:0;flex:1}.sandbox-split--open{grid-template-columns:1fr 300px}.sandbox-row{cursor:pointer;text-align:left;width:100%}.sandbox-row--selected{background:var(--accent-soft);border-left:2px solid var(--accent)}.sandbox-detail{display:flex;flex-direction:column;gap:0;border:1px solid var(--border);background:var(--surface);min-height:0;overflow-y:auto}.sandbox-detail-header{display:flex;align-items:start;justify-content:space-between;gap:12px;padding:14px;border-bottom:1px solid var(--border)}.sandbox-detail-name{font-size:.94rem;font-weight:600}.sandbox-detail-section{padding:14px;border-bottom:1px solid var(--border);display:grid;gap:10px}.sandbox-detail-section:last-child{border-bottom:0}.sandbox-detail-rows{display:grid;gap:0}.sandbox-detail-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid var(--border);font-size:.82rem}.sandbox-detail-row:last-child{border-bottom:0;padding-bottom:0}.sandbox-detail-row span:first-child{color:var(--muted)}.sandbox-detail-row strong,.sandbox-detail-row code{font-size:.82rem}.sandbox-detail-actions{display:grid;gap:6px}.sandbox-name-row{display:flex;align-items:center;gap:8px}.sandbox-status-dot{width:7px;height:7px;flex-shrink:0;background:var(--muted-soft)}.sandbox-status-dot--active{background:var(--accent)}.sandbox-status-dot--failed{background:var(--danger)}.sandbox-running{color:var(--accent)}.table-label{display:none}.ghost-button{justify-self:start}.danger-button{border-color:var(--danger);background:var(--danger-soft);color:var(--danger)}.danger-button:hover{background:var(--danger);color:#fff}.revoke-confirm{display:flex;gap:4px}.key-action-muted{align-self:center}.key-table-body::-webkit-scrollbar,.app-main-scroll::-webkit-scrollbar{width:6px}.key-table-body::-webkit-scrollbar-thumb,.app-main-scroll::-webkit-scrollbar-thumb{background:var(--border-strong)}@media(max-width:1080px){.placeholder-grid,.auth-settings-grid,.stat-grid,.key-table-header,.key-table-row{grid-template-columns:1fr}.key-table-header{display:none}.table-label{display:block}}@media(max-width:900px){body{overflow:auto}.auth-panel,.app-shell{grid-template-columns:1fr}.app-shell{height:auto;min-height:100dvh}.app-main-scroll{height:auto;overflow:visible}.page-header,.content-card-header,.content-actions,.table-header,.secret-card{flex-direction:column;align-items:stretch}.shell-footer-actions,.detail-grid{grid-template-columns:1fr}.auth-root{padding:0}}
