/* Nikrad — unified application shell. One geometry across every page. */
:root{--shell-bg:#f7f5f0;--shell-surface:#fffefa;--shell-ink:#171717;--shell-muted:#77736d;--shell-line:#e5e1da;--shell-accent:#b27a35;--shell-shadow:0 12px 45px rgba(33,27,20,.07);--shell-radius:22px}
*{box-sizing:border-box}.app-header{position:sticky;top:0;z-index:4000;width:100%;height:72px;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;padding:10px clamp(14px,3vw,32px);background:color-mix(in srgb,var(--shell-surface) 91%,transparent);border-bottom:1px solid var(--shell-line);backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%)}
.header-zone{display:flex;align-items:center;gap:7px;min-width:0}.header-zone-right{justify-content:flex-start}.header-zone-left{justify-content:flex-end}.header-brand{grid-column:2;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:0;color:var(--shell-ink);text-decoration:none}.header-logo-frame{width:52px;height:52px;display:grid;place-items:center;flex:0 0 52px;overflow:hidden;border-radius:15px;background:#171717;box-shadow:0 5px 18px rgba(0,0,0,.12)}.header-logo{width:100%;height:100%;display:block;object-fit:cover}.header-brand-copy{display:flex;flex-direction:column;align-items:flex-start;min-width:0;max-width:210px}.header-brand-copy strong{font-size:13px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-brand-copy small{font-size:9px;color:var(--shell-muted);margin-top:2px;white-space:nowrap}.header-icon,.header-avatar{width:42px;height:42px;display:grid;place-items:center;flex:0 0 42px;border:1px solid transparent;background:transparent;color:var(--shell-ink);border-radius:13px;text-decoration:none;position:relative;transition:background .18s,border-color .18s,transform .18s}.header-icon:hover,.header-avatar:hover{background:var(--shell-bg);border-color:var(--shell-line)}.header-icon:active,.header-avatar:active{transform:scale(.94)}.header-icon svg{width:21px;height:21px}.header-avatar{background:#171717;color:#fff;font-size:13px;font-weight:800;border-radius:14px}.login-avatar{width:auto;min-width:58px;padding:0 12px}.notif-dot{position:absolute;top:5px;right:5px;min-width:15px;height:15px;padding:0 3px;border-radius:999px;background:#d33b34;color:#fff;font-size:8px;display:grid;place-items:center;border:2px solid var(--shell-surface)}
.device{width:100%;max-width:none;min-height:100dvh;margin:0;border:0;border-radius:0;background:var(--shell-bg);box-shadow:none;overflow:visible}.device>.app-header+*{min-width:0}.theme-footer{width:100%;border-top:1px solid var(--shell-line);background:var(--shell-surface)}.theme-footer-inner{width:min(1180px,calc(100% - 32px));margin:auto;padding:24px 0;display:flex;align-items:center;gap:26px}.footer-brand{display:flex;align-items:center;gap:10px;min-width:0}.footer-mark{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:#171717;color:#fff;font-weight:800}.footer-brand strong{display:block;font-size:11px}.footer-brand small{display:block;color:var(--shell-muted);font-size:8px;margin-top:3px}.theme-footer nav{display:flex;gap:16px;flex-wrap:wrap;margin-inline:auto}.theme-footer nav a,.footer-copy{font-size:9px;color:var(--shell-muted)}
/* Normalize common content containers without forcing their internal design. */
main,.page,.content,.container,.wrap{max-width:1180px;margin-inline:auto}.card,.feature-card,.stat-card,.doc-card,.list-row,.modal-box,.sheet,.site-menu-modal{border-radius:var(--shell-radius)}button,input,select,textarea{font-family:inherit}
@media(max-width:760px){.app-header{height:68px;padding:8px 10px}.header-logo-frame{width:50px;height:50px;flex-basis:50px;border-radius:15px}.header-brand-copy{display:none}.header-icon,.header-avatar{width:40px;height:40px;flex-basis:40px;border-radius:12px}.header-icon svg{width:20px;height:20px}.theme-footer-inner{width:calc(100% - 28px);display:grid;grid-template-columns:1fr auto;gap:16px;padding:20px 0}.theme-footer nav{grid-column:1/-1;grid-row:2;margin:0;gap:13px}.footer-copy{justify-self:end}}

/* NIKRAD Navigation System V3 */
.account-head-btn{background:transparent!important}.site-menu-modal-pro{width:min(860px,calc(100vw - 32px));padding:18px}.site-menu-section{margin:0 0 16px}.site-menu-section-title{font-size:10px;font-weight:800;color:var(--muted);padding:4px 4px 8px}.site-menu-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.site-menu-item{min-height:68px;padding:10px}.site-menu-item .mi{width:40px;height:40px}.site-menu-item .mi svg{width:19px;height:19px}.site-menu-wide.danger{color:#b33a3a}.drawer-pro{width:390px}.drawer-quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;padding:10px 12px 4px}.drawer-quick{min-width:0;display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 5px;border:1px solid var(--line);border-radius:13px;background:var(--bg);color:var(--ink);text-decoration:none}.drawer-quick span{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:var(--soft);color:var(--accent)}.drawer-quick span svg{width:16px;height:16px}.drawer-quick b{font-size:10px}.drawer-quick small{font-size:8px;color:var(--muted);white-space:nowrap}.drawer-section-title{padding:9px 14px 4px;font-size:9px;font-weight:800;color:var(--muted)}.drawer-section-title.recent-title{padding-top:12px}.drawer-bottom-links{display:flex;gap:5px;padding:5px 12px 8px;border-top:1px solid var(--line);overflow:auto}.drawer-bottom-links a{display:flex;align-items:center;gap:5px;flex:1;justify-content:center;min-width:90px;padding:7px 8px;border-radius:10px;background:var(--bg);color:var(--ink-soft);text-decoration:none;font-size:9px;white-space:nowrap}.drawer-bottom-links svg{width:15px;height:15px}.drawer-pro .drawer-foot{border-top:1px solid var(--line)}
@media(max-width:767px){.site-menu-modal-pro{left:8px;right:8px;width:auto;max-height:calc(100dvh - 16px);padding:12px}.site-menu-modal-pro .site-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.drawer-pro{width:100vw}.drawer-bottom-links{overflow-x:auto}}@media(max-width:390px){.site-menu-modal-pro .site-menu-grid{grid-template-columns:1fr}.drawer-quick-grid{grid-template-columns:repeat(2,1fr)}}

.nikrad-info-page{padding-top:28px;padding-bottom:60px}.info-page-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:14px}.info-card{padding:20px}.info-card h2{margin:0 0 14px;font-size:17px}.info-card p,.info-card li{font-size:12px;line-height:2;color:var(--ink-soft)}.feature-list{display:grid;gap:10px}.feature-list>div{padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--bg)}.feature-list b{display:block;font-size:11px}.feature-list span{display:block;color:var(--muted);font-size:10px;line-height:1.8;margin-top:3px}.feature-list a,.contact-email{color:var(--accent);text-decoration:none}.faq-card details{border-bottom:1px solid var(--line);padding:12px 0}.faq-card details:last-child{border-bottom:0}.faq-card summary{cursor:pointer;font-size:12px;font-weight:800}.faq-card p{margin:9px 0 0}.contact-form{display:grid;gap:12px}.contact-email{display:inline-block;padding:10px 12px;background:var(--accent-soft);border-radius:11px;font-size:12px;direction:ltr}.form-message.success{color:#28734a}.form-message.error{color:#b33a3a}@media(max-width:800px){.info-page-grid{grid-template-columns:1fr}.nikrad-info-page{padding:18px 12px 40px}.info-card{padding:15px}}
.session-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.session-row:last-child{border-bottom:0}.session-row b{display:block;font-size:11px}.session-row span{display:block;color:var(--muted);font-size:9px;margin-top:4px;direction:ltr;text-align:right}.session-current{font-size:9px;color:#28734a;background:#eaf6ef;border-radius:999px;padding:6px 9px;white-space:nowrap}@media(max-width:600px){.session-row{align-items:flex-start;flex-direction:column}.session-row .btn{width:100%}}
.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.card-head h2{margin:0 0 4px;font-size:15px}.card-head p{margin:0;font-size:11px;color:var(--muted)}.empty-state{padding:26px 14px;text-align:center;color:var(--muted);font-size:12px;line-height:1.9}.field-label{display:grid;gap:6px;color:var(--muted);font-size:11px;font-weight:700;margin-bottom:2px}.field-label input,.field-label select,.field-label textarea{width:100%;min-height:42px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--ink);padding:9px 12px;outline:0;font-size:12px;font-weight:400}.field-label textarea{min-height:110px;resize:vertical;line-height:1.8}.field-label input:focus,.field-label select:focus,.field-label textarea:focus{border-color:var(--accent)}.form-message{font-size:11px;color:var(--muted);min-height:18px;line-height:1.8}.mini-btn{min-height:34px;padding:0 12px;border:1px solid var(--line);background:var(--bg);border-radius:10px;color:var(--ink-soft);font-size:10px;font-weight:700}.mini-btn:hover{border-color:var(--accent);color:var(--ink)}
.theme-footer-inner{align-items:flex-start}.theme-footer-links{display:grid;grid-template-columns:repeat(4,minmax(100px,1fr));gap:18px;flex:1;max-width:780px}.theme-footer-links b{display:block;font-size:9px;color:var(--shell-ink);margin-bottom:7px}.theme-footer-links a{display:block;margin:4px 0;font-size:9px;color:var(--shell-muted);text-decoration:none}.theme-footer-brand{min-width:170px}@media(max-width:800px){.theme-footer-inner{display:block}.theme-footer-links{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px;gap:12px}}@media(max-width:430px){.theme-footer-links{grid-template-columns:1fr}}

/* v4.0 — single global header contract */
.app-header{grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr)!important;overflow:hidden!important}
.app-header .header-center-spacer{grid-column:2!important;width:1px!important;height:1px!important;opacity:0!important}
.app-header .header-page-title,.app-header .header-brand{display:none!important}
.app-header .header-logo-frame,.app-header .header-brand-copy{display:none!important}
.app-header .header-icon{background:transparent!important}
.app-header .header-icon svg{width:21px!important;height:21px!important;max-width:21px!important;max-height:21px!important;display:block!important}
/* Drawer is self-contained so page content can never bleed through it. */
.drawer.drawer-pro{background:var(--raised)!important;color:var(--ink)!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;isolation:isolate!important}
.drawer.drawer-pro .drawer-head{position:relative;z-index:2;flex:0 0 auto!important;background:var(--raised)!important}
.drawer.drawer-pro .drawer-list{min-height:0!important;flex:1 1 auto!important;overflow-y:auto!important;overflow-x:hidden!important;padding:4px 12px 10px!important}
.drawer.drawer-pro .drawer-quick-grid{flex:0 0 auto!important}
.drawer.drawer-pro .proj-row{flex:0 0 auto!important}
.drawer.drawer-pro .drawer-foot{flex:0 0 auto!important;margin-top:0!important;background:var(--raised)!important}
.drawer.drawer-pro svg{width:18px!important;height:18px!important;max-width:18px!important;max-height:18px!important;display:block!important;flex:0 0 18px!important}
.drawer.drawer-pro .conv-item{min-height:44px!important;display:flex!important;align-items:center!important;gap:8px!important;padding:8px 9px!important;border-radius:10px!important;overflow:hidden!important;line-height:1.5!important}
.drawer.drawer-pro .conv-item>span{min-width:0!important;flex:1 1 auto!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-size:11px!important}
.drawer.drawer-pro .conv-item .pin{width:10px!important;height:10px!important;max-width:10px!important;max-height:10px!important;flex:0 0 10px!important}
.drawer.drawer-pro .conv-actions{flex:0 0 auto!important}
.drawer.drawer-pro .conv-actions button{width:26px!important;height:26px!important;display:grid!important;place-items:center!important;padding:0!important}
.drawer.drawer-pro .conv-actions button svg{width:14px!important;height:14px!important}
.drawer.drawer-pro .section-label{padding:8px 4px 4px!important;font-size:9px!important;font-weight:800!important;color:var(--muted)!important}
.drawer.drawer-pro .empty-note{padding:16px 8px!important;font-size:11px!important}
.drawer.drawer-pro .proj-chip svg{width:15px!important;height:15px!important;max-width:15px!important;max-height:15px!important}
/* Never allow mobile pages/cards to establish a horizontal scrolling layout. */
html,body{max-width:100%!important;overflow-x:hidden!important}
body.nikrad-app .device,body.nikrad-app main,body.nikrad-app #scroll,body.nikrad-app .content{min-width:0!important;max-width:100%!important}
body.nikrad-app main>*{min-width:0!important;max-width:100%!important}
@media(max-width:767px){.drawer.drawer-pro{width:100vw!important;max-width:100vw!important;right:0!important}.drawer.drawer-pro .drawer-head{padding-inline:12px!important}.drawer.drawer-pro .drawer-list{padding-inline:12px!important}.app-header .header-icon svg{width:20px!important;height:20px!important;max-width:20px!important;max-height:20px!important}}

/* NIKRAD HEADER CONTRACT 4.1 — no logo, no brand, no membership/page subtitle in global header */
.app-header{grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr)!important;}
.app-header .header-brand,.app-header .header-page-title,.app-header .header-logo-frame,.app-header .header-brand-copy{display:none!important;}
.app-header .header-zone{min-width:0!important;}
.app-header .header-icon{width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;padding:0!important;display:grid!important;place-items:center!important;}
.app-header .header-icon svg{width:21px!important;height:21px!important;min-width:21px!important;min-height:21px!important;max-width:21px!important;max-height:21px!important;}
@media(max-width:760px){.app-header .header-icon{width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important}.app-header .header-icon svg{width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important;max-width:20px!important;max-height:20px!important}}
