:root,[data-theme=light]{--surface-000:#fffcf6;--surface-050:#faf4ea;--surface-100:#ffffff;--surface-200:#f1e9dc;--ink:#2f2421;--ink-muted:#6b5c55;--line:#e2d8c8;--line-strong:var(--ink-muted);--shuka:#b8202c;--on-shuka:#ffffff;--shuka-deep:#7a0e14;--shuka-soft:#f8dedb;--terracotta:#b44e3a;--on-terracotta:#ffffff;--terracotta-ink:#8f3a28;--sun:#e3902c;--sun-ink:#8a4a10;--sun-soft:#f9e6c8;--sage:#b8d8a3;--on-earth:#2f2421;--acacia:#3f6b3a;--acacia-soft:#e1ecd6;--sky:#2c6a88;--sky-soft:#dbe8ef;--focus:var(--sky);--danger:var(--shuka-deep);--warning:var(--sun-ink);--success:var(--acacia);--info:var(--sky);--mpesa:#157a33;--overlay:#2f2421a6;--shadow-low:0 1px 2px #2f242126;--shadow-raised:0 8px 24px #2f242133}[data-theme=dark]{--surface-000:#1e1715;--surface-050:#262019;--surface-100:#2a221e;--surface-200:#141010;--ink:#f6efe6;--ink-muted:#c0b1a6;--line:#3d322c;--line-strong:var(--ink-muted);--shuka:#e8505a;--on-shuka:#1e1715;--shuka-deep:#f39a9f;--shuka-soft:#44201f;--terracotta:#d4745e;--on-terracotta:#1e1715;--terracotta-ink:#eba08c;--sun:#e9a24a;--sun-ink:#f2c385;--sun-soft:#3f2b14;--sage:#b8d8a3;--on-earth:#1e1715;--acacia:#7fb076;--acacia-soft:#253622;--sky:#78b6d6;--sky-soft:#1c303b;--focus:var(--sky);--danger:var(--shuka-deep);--warning:var(--sun-ink);--success:var(--acacia);--info:var(--sky);--mpesa:#3fc46a;--overlay:#000000b3;--shadow-low:0 1px 2px #00000080;--shadow-raised:0 8px 24px #000000b3}:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--touch:48px;--radius-sm:4px;--radius-md:8px;--radius-lg:14px;--radius-pill:999px;--disabled:.45;--font-display:"Playfair Display", "Iowan Old Style", Georgia, serif;--font-sans:"Nunito Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace}.dp,.dp *{box-sizing:border-box}.dp{font-family:var(--font-sans);color:var(--ink);font-size:16px;line-height:26px}.dp :focus-visible{outline:2px solid var(--focus);outline-offset:2px}.dp-num{font-variant-numeric:tabular-nums}.dp-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--touch);padding:0 var(--space-5);border-radius:var(--radius-md);font:700 16px/20px var(--font-sans);letter-spacing:.01em;cursor:pointer;border:1px solid transparent;background:transparent;color:var(--ink);white-space:nowrap}.dp-btn-primary{background:var(--terracotta);color:var(--on-terracotta)}.dp-btn-primary:hover{filter:brightness(.94)}.dp-btn-secondary{border-color:var(--line-strong);color:var(--terracotta-ink);background:var(--surface-100)}.dp-btn-secondary:hover{background:var(--surface-050)}.dp-btn-quiet{color:var(--terracotta-ink);padding-inline:var(--space-3)}.dp-btn-quiet:hover{background:var(--surface-050)}.dp-btn-danger{border-color:var(--danger);color:var(--danger);background:var(--surface-100)}.dp-btn-danger:hover{background:var(--shuka-soft)}.dp-btn-sm{min-height:36px;padding:0 var(--space-4);font-size:14px}.dp-btn-lg{min-height:56px;padding:0 var(--space-6);font-size:18px}.dp-btn[disabled]{opacity:var(--disabled);cursor:not-allowed}.dp-chip{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font:600 13px/18px var(--font-sans);letter-spacing:.01em;white-space:nowrap}.dp-chip-dot{width:8px;height:8px;border-radius:var(--radius-pill);background:currentColor;flex:none}.dp-chip-neutral{background:var(--surface-200);color:var(--ink)}.dp-chip-success{background:var(--acacia-soft);color:var(--acacia)}.dp-chip-pending{background:var(--sun-soft);color:var(--sun-ink)}.dp-chip-danger{background:var(--shuka-soft);color:var(--shuka-deep)}.dp-chip-info{background:var(--sky-soft);color:var(--sky)}.dp-chip-brand{background:var(--shuka);color:var(--on-shuka)}.dp-field{display:flex;flex-direction:column;gap:var(--space-1)}.dp-field-label{font:600 13px/18px var(--font-sans);letter-spacing:.01em;color:var(--ink)}.dp-field-label .dp-req{color:var(--danger);margin-left:2px}.dp-input{min-height:var(--touch);padding:var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--surface-100);color:var(--ink);font:400 16px/22px var(--font-sans);width:100%}.dp-input::placeholder{color:var(--ink-muted)}.dp-input:focus{outline:2px solid var(--focus);outline-offset:0;border-color:var(--focus)}.dp-field-invalid .dp-input{border-color:var(--danger)}.dp-field-hint{font:400 12px/16px var(--font-sans);color:var(--ink-muted)}.dp-field-error{font:600 12px/16px var(--font-sans);color:var(--danger);display:flex;gap:var(--space-1);align-items:center}.dp-input[disabled]{background:var(--surface-200);color:var(--ink-muted)}.dp-pkg{display:flex;flex-direction:column;width:320px;border-radius:var(--radius-lg);overflow:hidden;background:var(--surface-100);border:1px solid var(--line)}.dp-pkg-selected{border-color:var(--shuka);box-shadow:0 0 0 1px var(--shuka)}.dp-pkg-media{height:160px;background:var(--sage);position:relative}.dp-pkg-media img{width:100%;height:100%;object-fit:cover;display:block}.dp-pkg-media .dp-chip{position:absolute;top:var(--space-3);left:var(--space-3)}.dp-pkg-body{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3);flex:1}.dp-pkg-title{font:500 26px/32px var(--font-display);margin:0;color:var(--ink)}.dp-pkg-meta{color:var(--ink-muted);font-size:13px;line-height:18px;display:flex;gap:var(--space-2);flex-wrap:wrap}.dp-pkg-meta span+span:before{content:"·";margin-right:var(--space-2)}.dp-pkg-incl{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--space-1);font-size:14px;line-height:20px}.dp-pkg-incl li:before{content:"✓";color:var(--acacia);font-weight:700;margin-right:var(--space-2)}.dp-pkg-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-3);margin-top:auto;padding-top:var(--space-3);border-top:1px solid var(--line)}.dp-pkg-price{font:700 24px/28px var(--font-sans);font-variant-numeric:tabular-nums;color:var(--shuka-deep)}.dp-pkg-price small{display:block;font:400 12px/16px var(--font-sans);color:var(--ink-muted)}.dp-pay{display:flex;align-items:center;gap:var(--space-3);width:280px;min-height:72px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--line-strong);background:var(--surface-100);color:var(--ink);box-shadow:var(--shadow-low);cursor:pointer;text-align:left;font-family:var(--font-sans)}.dp-pay-selected{border-color:var(--terracotta);box-shadow:0 0 0 1px var(--terracotta),var(--shadow-low)}.dp-pay-mark{width:44px;height:44px;border-radius:var(--radius-sm);display:grid;place-items:center;flex:none;font:700 11px/1 var(--font-sans);letter-spacing:.04em}.dp-pay-mpesa .dp-pay-mark{background:var(--mpesa);color:var(--on-shuka)}.dp-pay-card .dp-pay-mark{background:var(--sky-soft);color:var(--sky)}.dp-pay-terminal .dp-pay-mark{background:var(--surface-200);color:var(--ink)}.dp-pay-cash .dp-pay-mark{background:var(--acacia-soft);color:var(--acacia)}.dp-pay-title{font:700 16px/20px var(--font-sans)}.dp-pay-sub{font:400 13px/18px var(--font-sans);color:var(--ink-muted)}.dp-pay-radio{margin-left:auto;width:20px;height:20px;border-radius:var(--radius-pill);border:2px solid var(--line-strong);flex:none}.dp-pay-selected .dp-pay-radio{border-color:var(--terracotta);background:radial-gradient(circle,var(--terracotta) 0 5px,transparent 6px)}.dp-steps{display:flex;gap:0;list-style:none;margin:0;padding:0;font-family:var(--font-sans)}.dp-step{display:flex;align-items:center;gap:var(--space-2);flex:1;min-width:0}.dp-step-dot{width:28px;height:28px;border-radius:var(--radius-pill);display:grid;place-items:center;flex:none;font:700 13px/1 var(--font-sans);border:2px solid var(--line-strong);color:var(--ink-muted);background:var(--surface-100)}.dp-step-done .dp-step-dot{background:var(--acacia);border-color:var(--acacia);color:var(--on-shuka)}.dp-step-current .dp-step-dot{background:var(--sun);border-color:var(--sun);color:var(--on-earth)}.dp-step-label{font:600 13px/18px var(--font-sans);color:var(--ink-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dp-step-current .dp-step-label,.dp-step-done .dp-step-label{color:var(--ink)}.dp-step-line{flex:1;height:2px;background:var(--line);margin:0 var(--space-2);min-width:var(--space-4)}.dp-step-done .dp-step-line{background:var(--acacia)}.dp-tile{display:flex;flex-direction:column;justify-content:space-between;width:148px;min-height:104px;padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--line);background:var(--surface-100);color:var(--ink);box-shadow:var(--shadow-low);cursor:pointer;text-align:left;font-family:var(--font-sans);position:relative}.dp-tile:hover{background:var(--surface-050)}.dp-tile-selected{border-color:var(--shuka);box-shadow:0 0 0 1px var(--shuka)}.dp-tile-name{font:700 16px/20px var(--font-sans)}.dp-tile-price{font:700 16px/20px var(--font-sans);font-variant-numeric:tabular-nums;color:var(--shuka-deep)}.dp-tile-stock{font:400 12px/16px var(--font-sans);color:var(--ink-muted)}.dp-tile-low .dp-tile-stock{color:var(--warning);font-weight:600}.dp-tile-out{opacity:var(--disabled);cursor:not-allowed}.dp-tile-out .dp-tile-stock{color:var(--danger);font-weight:600}.dp-tile-qty{position:absolute;top:calc(-1 * var(--space-2));right:calc(-1 * var(--space-2));min-width:24px;height:24px;padding:0 6px;border-radius:var(--radius-pill);background:var(--shuka);color:var(--on-shuka);font:700 12px/24px var(--font-sans);text-align:center}.dp-ticket{width:320px;border-radius:var(--radius-lg);background:var(--surface-100);border:1px solid var(--line);overflow:hidden;font-family:var(--font-sans)}.dp-ticket-head{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:baseline}.dp-ticket-head strong{font:700 18px/24px var(--font-sans)}.dp-ticket-ref{font:400 13px/18px var(--font-mono);color:var(--ink-muted)}.dp-ticket-lines{list-style:none;margin:0;padding:var(--space-2) var(--space-5)}.dp-ticket-line{display:grid;grid-template-columns:28px 1fr auto;gap:var(--space-2);padding:var(--space-2) 0;font-size:15px;line-height:22px}.dp-ticket-line .dp-num{text-align:right}.dp-ticket-line small{color:var(--ink-muted)}.dp-ticket-sub{padding:var(--space-2) var(--space-5);display:flex;justify-content:space-between;font-size:14px;line-height:20px;color:var(--ink-muted)}.dp-ticket-total{padding:var(--space-4) var(--space-5);background:var(--surface-200);display:flex;justify-content:space-between;align-items:baseline}.dp-ticket-total span{font:600 12px/16px var(--font-sans);letter-spacing:.04em;text-transform:uppercase;max-width:150px;color:var(--ink-muted)}.dp-ticket-total strong{font:700 24px/28px var(--font-sans);font-variant-numeric:tabular-nums}.dp-ticket-paid .dp-ticket-total{background:var(--acacia-soft)}.dp-ticket-paid .dp-ticket-total span{color:var(--acacia)}.dp-nav{width:216px;padding:var(--space-4) var(--space-3);background:var(--surface-050);border-right:1px solid var(--line);display:flex;flex-direction:column;gap:var(--space-1);font-family:var(--font-sans);min-height:100%}.dp-nav-brand{padding:var(--space-2) var(--space-3) var(--space-4)}.dp-nav-brand img{height:40px;display:block}.dp-nav-group{font:600 11px/16px var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);padding:var(--space-3) var(--space-3) var(--space-1)}.dp-nav-item{display:flex;align-items:center;gap:var(--space-3);min-height:var(--touch);padding:0 var(--space-3);border-radius:var(--radius-md);color:var(--ink);text-decoration:none;font:600 15px/20px var(--font-sans);position:relative;cursor:pointer;border:0;background:transparent;width:100%;text-align:left}.dp-nav-item:hover{background:var(--surface-100)}.dp-nav-item-active{background:var(--surface-100);color:var(--shuka-deep)}.dp-nav-item-active:before{content:"";position:absolute;left:0;top:var(--space-3);bottom:var(--space-3);width:3px;border-radius:var(--radius-pill);background:var(--shuka)}.dp-nav-icon{width:20px;height:20px;flex:none}.dp-nav-count{margin-left:auto;font:700 12px/18px var(--font-sans);padding:0 var(--space-2);border-radius:var(--radius-pill);background:var(--sun-soft);color:var(--sun-ink)}.dp-stat{width:236px;padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);background:var(--surface-100);border:1px solid var(--line);border-top:3px solid var(--sun);font-family:var(--font-sans)}.dp-stat-label{font:600 13px/18px var(--font-sans);color:var(--ink-muted);letter-spacing:.01em}.dp-stat-value{font:700 26px/30px var(--font-sans);font-variant-numeric:tabular-nums;margin-top:var(--space-1)}.dp-stat-delta{font:600 13px/18px var(--font-sans);margin-top:var(--space-1)}.dp-stat-up .dp-stat-delta{color:var(--acacia)}.dp-stat-down .dp-stat-delta{color:var(--danger)}.dp-stat-flat .dp-stat-delta{color:var(--ink-muted)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:var(--surface-000);color:var(--ink);font:400 16px/26px var(--font-sans);-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0;font-family:var(--font-display);font-weight:400}h1{font-size:56px;line-height:62px;letter-spacing:-.01em}h2{font-size:36px;line-height:44px}h3{font-size:26px;line-height:32px;font-weight:500}p{margin:0}a{color:var(--terracotta-ink)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.muted{color:var(--ink-muted)}.mono{font-family:var(--font-mono);font-size:13px}.row{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:var(--space-4)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}.spread{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap}.card{background:var(--surface-100);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-5)}.card h3{font-family:var(--font-sans);font-size:18px;line-height:24px;font-weight:700;margin-bottom:var(--space-3)}.note{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:14px;line-height:20px}.note-info{background:var(--sky-soft);color:var(--sky)}.note-warn{background:var(--sun-soft);color:var(--sun-ink)}.note-ok{background:var(--acacia-soft);color:var(--acacia)}.note-bad{background:var(--shuka-soft);color:var(--shuka-deep)}.site-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);padding:var(--space-3) var(--space-6);background:var(--surface-000);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.site-head img{height:56px;display:block;background:#fffcf6;border-radius:var(--radius-sm)}.site-head nav{display:flex;gap:var(--space-5);align-items:center;font-weight:600;font-size:15px}.site-head nav a{color:var(--ink);text-decoration:none}.site-head nav a:hover{color:var(--terracotta-ink)}.hero{position:relative;min-height:560px;display:flex;align-items:flex-end;color:#fff;background:#4a3b34 center/cover no-repeat}.hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#1e1715cc,#1e171566 55%,#1e171500)}.hero-inner{position:relative;padding:var(--space-8) var(--space-6);max-width:760px}.hero h1{color:#fff}.hero-rule{width:var(--space-6);height:3px;background:var(--shuka);margin:var(--space-4) 0;border-radius:var(--radius-pill)}.hero p{font-size:18px;line-height:28px;max-width:560px;color:#fff}.hero .row{margin-top:var(--space-5)}.section{padding:var(--space-8) var(--space-6)}.section-alt{background:var(--surface-050)}.section-sage{background:var(--sage);color:var(--on-earth)}.section-sage .dp-pkg{color:var(--ink)}.section-head{max-width:1280px;margin:0 auto var(--space-6)}.wrap{max-width:1280px;margin:0 auto}.rail{display:flex;gap:var(--space-5);overflow-x:auto;padding-bottom:var(--space-3);scroll-snap-type:x proximity}.rail>*{flex:none;scroll-snap-align:start}.band{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}.band svg{width:32px;height:32px;color:var(--terracotta-ink);margin-bottom:var(--space-2)}.site-foot{background:var(--surface-050);border-top:1px solid var(--line);padding:var(--space-7) var(--space-6)}.site-foot .wrap{display:flex;justify-content:space-between;gap:var(--space-6);flex-wrap:wrap}.site-foot img{height:72px;width:auto;align-self:flex-start;background:#fffcf6;border-radius:var(--radius-sm)}.site-foot ul{list-style:none;margin:0;padding:0;font-size:14px;line-height:28px}.book{max-width:1180px;margin:0 auto;padding:var(--space-6) var(--space-6) var(--space-8)}.book-grid{display:grid;grid-template-columns:1fr 340px;gap:var(--space-6);align-items:start;margin-top:var(--space-6)}.summary{position:sticky;top:96px}.summary .dp-ticket{width:100%}.pkg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-5)}.pkg-grid .dp-pkg{width:auto}.check{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-3) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-100);cursor:pointer}.check input{width:20px;height:20px;margin-top:3px;accent-color:var(--terracotta);flex:none}.check-on{border-color:var(--terracotta);box-shadow:0 0 0 1px var(--terracotta)}.check b{display:block;font-size:15px;line-height:22px}.check small{color:var(--ink-muted);font-size:13px;line-height:18px}.drop{border:2px dashed var(--line-strong);border-radius:var(--radius-md);background:var(--surface-200);padding:var(--space-5);text-align:center;min-height:140px;display:grid;place-items:center;cursor:pointer}.drop-done{border-style:solid;border-color:var(--acacia);background:var(--acacia-soft);color:var(--acacia);font-weight:600}.pay-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.pay-grid .dp-pay{width:100%}.stk{display:flex;gap:var(--space-3);align-items:center}.spinner{width:18px;height:18px;border-radius:var(--radius-pill);border:3px solid var(--line);border-top-color:var(--terracotta);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.spinner{animation:none}}.confirm{text-align:center;max-width:640px;margin:var(--space-8) auto;display:flex;flex-direction:column;gap:var(--space-4);align-items:center}.confirm .tick{width:72px;height:72px;border-radius:var(--radius-pill);background:var(--acacia);color:var(--on-shuka);display:grid;place-items:center;font-size:36px}.app{display:grid;grid-template-columns:216px 1fr;min-height:100vh}.app .dp-nav{position:sticky;top:0;height:100vh;overflow-y:auto}.app-main{min-width:0}.app-top{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-6);border-bottom:1px solid var(--line);background:var(--surface-000);position:sticky;top:0;z-index:10}.app-body{padding:var(--space-6);max-width:1280px}.app-body>h2{font-size:30px;line-height:38px;margin-bottom:var(--space-1)}.stats{display:flex;gap:var(--space-4);flex-wrap:wrap;margin:var(--space-5) 0}.stats .dp-stat{width:236px}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-100)}table.t{border-collapse:collapse;width:100%;font-size:15px;line-height:22px}table.t th{text-align:left;font-weight:700;background:var(--surface-050);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--line);white-space:nowrap}table.t td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--line);vertical-align:middle}table.t tr:last-child td{border-bottom:0}table.t tbody tr.click{cursor:pointer}table.t tbody tr.click:hover{background:var(--surface-050)}table.t td.num,table.t th.num{text-align:right;font-variant-numeric:tabular-nums}.pos{display:grid;grid-template-columns:1fr 340px;gap:var(--space-5);align-items:start}.tiles{display:grid;grid-template-columns:repeat(auto-fill,148px);gap:var(--space-3);margin-top:var(--space-4);padding-top:var(--space-2)}.pos-side{position:sticky;top:88px}.pos-side .dp-ticket{width:100%;border-bottom-left-radius:0;border-bottom-right-radius:0}.pos-actions{background:var(--surface-100);border:1px solid var(--line);border-top:0;border-radius:0 0 var(--radius-lg) var(--radius-lg);padding:var(--space-4) var(--space-5);display:flex;flex-direction:column;gap:var(--space-2);border-top:1px solid var(--line)}.qty{display:inline-flex;gap:4px;margin-left:var(--space-2)}.qty button{width:28px;height:28px;border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--surface-100);color:var(--ink);cursor:pointer;font-weight:700}.bars{display:flex;flex-direction:column;gap:var(--space-3)}.bar{display:grid;grid-template-columns:120px 1fr 110px;gap:var(--space-3);align-items:center;font-size:14px}.bar i{display:block;height:20px;border-radius:var(--radius-sm);background:var(--terracotta)}.docs{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.doc{aspect-ratio:1.58;border-radius:var(--radius-md);border:1px solid var(--line-strong);background:repeating-linear-gradient(135deg,var(--surface-200) 0 12px,var(--surface-050) 12px 24px);display:grid;place-items:center;font-size:13px;color:var(--ink-muted);font-weight:600;text-align:center;padding:var(--space-3)}.perm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--space-3);align-items:start}.perm-mod{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-100);padding:var(--space-2);margin:0;min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.perm-mod:disabled{opacity:.8}.perm-head,.perm-item{display:flex;gap:var(--space-3);align-items:center;min-height:var(--touch);padding:0 var(--space-2);border-radius:var(--radius-sm);cursor:pointer}.perm-head{border-bottom:1px solid var(--line);border-radius:0}.perm-head .muted{margin-left:auto;font-size:13px}.perm-item{font-size:15px;line-height:20px}.perm-item small{color:var(--ink-muted);font-size:12px}.perm-on{background:var(--surface-050)}.perm-head input,.perm-item input{width:20px;height:20px;accent-color:var(--terracotta);flex:none}.otp{font-size:20px;letter-spacing:.04em;background:var(--surface-100);color:var(--ink);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);-webkit-user-select:all;user-select:all}.login{min-height:100vh;display:grid;place-items:center;padding:var(--space-6);background:var(--surface-050)}.login .card{width:100%;max-width:440px}.dp-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:grid;place-items:center;padding:var(--space-4);z-index:100;overflow-y:auto}.dp-modal{background:var(--surface-100);border-radius:var(--radius-lg);box-shadow:var(--shadow-raised);width:100%;max-height:calc(100vh - 32px);overflow-y:auto;outline:none}.dp-modal-head{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--surface-100)}.dp-modal-head h2{font-size:26px;line-height:32px}.dp-modal-body{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}.dp-tabs{display:flex;gap:var(--space-1);border-bottom:1px solid var(--line);overflow-x:auto}.dp-tab{min-height:var(--touch);padding:0 var(--space-4);border:0;background:transparent;color:var(--ink-muted);font:600 15px/20px var(--font-sans);cursor:pointer;border-bottom:3px solid transparent;white-space:nowrap;display:inline-flex;align-items:center;gap:var(--space-2)}.dp-tab:hover{color:var(--ink)}.dp-tab-active{color:var(--shuka-deep);border-bottom-color:var(--shuka)}.dp-tab-count{font-size:12px;background:var(--surface-200);border-radius:var(--radius-pill);padding:0 var(--space-2);color:var(--ink)}.theme-toggle{min-height:36px}@media (max-width: 960px){h1{font-size:40px;line-height:46px}h2{font-size:30px;line-height:38px}.book-grid,.pos{grid-template-columns:1fr}.summary,.pos-side{position:static}.band,.app{grid-template-columns:1fr}.app .dp-nav{position:static;height:auto;width:100%;flex-direction:row;flex-wrap:wrap;border-right:0;border-bottom:1px solid var(--line)}.app .dp-nav-group,.dp-nav-brand{display:none}.app .dp-nav-item{width:auto}.grid2,.grid3,.pay-grid{grid-template-columns:1fr}.site-head nav a:not(.dp-btn){display:none}.site-head{padding:var(--space-2) var(--space-4)}.section,.book,.app-body{padding-left:var(--space-4);padding-right:var(--space-4)}}
