:root{--brand: #0f4c81;--brand-dark: #0b3a63;--ink: #1a1a1a;--muted: #6b7280;--line: #e5e7eb;--bg: #f7f8fa;--card: #ffffff;--warn: #b45309;--radius: 12px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}h1{font-size:1.5rem;margin:0 0 .25rem}h2{font-size:1.1rem;margin:0 0 .5rem}p{margin:0 0 1rem;line-height:1.45}.muted{color:var(--muted)}a{color:var(--brand);text-decoration:none}.app{min-height:100%;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;padding:calc(env(safe-area-inset-top) + 12px) 16px 12px;background:var(--brand);color:#fff}.brand{font-weight:700;letter-spacing:.02em}.latihan{margin-left:8px;padding:2px 8px;border-radius:4px;background:#f5b700;color:#1a1a1a;font-size:.8rem;letter-spacing:.08em;vertical-align:middle}.brand.large{font-size:1.4rem;color:var(--brand);margin-bottom:4px}.content{flex:1;padding:16px;padding-bottom:calc(env(safe-area-inset-bottom) + 24px)}.screen{min-height:100%;padding:16px}.screen.center{display:flex;align-items:center;justify-content:center}.page{display:flex;flex-direction:column;gap:16px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.card.narrow{width:100%;max-width:380px;text-align:center}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;width:100%;font-size:1rem;font-weight:600;border-radius:var(--radius);border:1px solid transparent;cursor:pointer}.btn.primary{background:var(--brand);color:#fff}.btn.primary:active{background:var(--brand-dark)}.btn.ghost{background:transparent;color:var(--brand);border-color:var(--line)}:root{--wa: #0f766e;--err: #b91c1c}.small{font-size:.85rem}.nomargin{margin:0}.plain-list{list-style:none;padding:0}.content{padding-bottom:calc(env(safe-area-inset-bottom) + 76px)}.tabbar{position:fixed;left:0;right:0;bottom:0;display:flex;background:var(--card);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.tab{flex:1;min-height:52px;display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:600;color:var(--muted);text-decoration:none}.tab.active{color:var(--brand);box-shadow:inset 0 2px 0 var(--brand)}.search{width:100%;min-height:48px;padding:0 14px;font-size:1rem;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:var(--radius)}.search:focus{outline:2px solid var(--brand);outline-offset:-1px}.list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.list.flush{gap:0;margin-bottom:12px}.row{display:flex;align-items:center;gap:12px;min-height:56px;padding:10px 14px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);text-decoration:none;color:var(--ink)}.row:active{background:#eef2f7}.row-main{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.row-title{font-weight:600;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.row-sub{font-size:.85rem}.chev{color:var(--muted);font-size:1.4rem;line-height:1}.tag{font-size:.8rem;font-weight:700;letter-spacing:.03em;color:var(--brand);background:#e8f0f8;padding:2px 8px;border-radius:999px;white-space:nowrap}.tag.quiet{color:#4b5563;background:#f1f3f5}p:not(.row-title)>.tag{margin-right:6px}.row-title a,.row-sub a,.place-text a,.title-link{display:inline-flex;align-items:center;min-height:44px;font-weight:600}.back{display:inline-flex;align-items:center;min-height:44px;color:var(--brand);text-decoration:none;font-weight:600}.actions{display:flex;gap:10px}.actions .btn{flex:1;text-decoration:none}.actions{flex-wrap:wrap}.landing-actions{display:flex;flex-direction:column;gap:10px}.landing-actions .btn{text-decoration:none}.btn.wa{background:var(--wa);color:#fff}.btn.wa:active{filter:brightness(.92)}.btn:disabled{opacity:.5}.field{display:flex;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}.field:last-of-type{border-bottom:0}.field-label{flex:0 0 34%;font-size:.85rem}.field-value{flex:1;word-break:break-word}.contact{display:flex;flex-direction:column;gap:8px;padding:12px 0;border-bottom:1px solid var(--line)}.contact:last-child{border-bottom:0}.contact-main{display:flex;flex-direction:column;gap:2px;min-width:0}.contact-actions{display:flex;gap:8px}.contact-actions>*{flex:1}.icon-btn{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 10px;font-size:.8rem;font-weight:600;color:var(--brand);background:transparent;text-decoration:none;border:1px solid var(--line);border-radius:var(--radius);cursor:pointer}.icon-btn.wa{color:var(--wa)}.icon-btn.danger{color:var(--err)}[hidden]{display:none!important}.plan-toggle{width:100%;min-height:44px;padding:0;margin:0;background:transparent;border:0;font:inherit;color:var(--ink);text-align:left;cursor:pointer}.plan-toggle .plan-title{flex:1;min-width:0}.plan-chev{color:var(--muted);font-size:1rem;margin-left:auto}.form{display:flex;flex-direction:column;gap:12px;padding:12px 0}.label{display:flex;flex-direction:column;gap:4px;font-size:.85rem;color:var(--muted)}.input{width:100%;min-height:48px;padding:10px 14px;font-size:1rem;font-family:inherit;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:var(--radius)}.input:focus{outline:2px solid var(--brand);outline-offset:-1px}.input.area{min-height:96px;resize:vertical;margin-bottom:12px}.prewrap{white-space:pre-wrap}.error{color:var(--err);font-size:.9rem}.warn{color:var(--err);font-weight:600}.filters{display:flex;gap:8px;align-items:stretch}.filters.wrap{flex-wrap:wrap}.filters.wrap>.select{min-width:9rem}.filters.wrap>.btn.small{flex-shrink:1;max-width:100%;text-align:center}.area-filter{flex:1 1 100%;min-width:0;display:flex;flex-direction:column;gap:6px}.area-filter>.chip{align-self:flex-start;max-width:100%;text-align:left;overflow-wrap:anywhere}.area-options{gap:4px}.area-option{width:100%;min-height:44px;font:inherit;text-align:left;cursor:pointer;overflow-wrap:anywhere}.segment{display:flex;flex:0 0 auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);overflow:hidden}.seg{min-height:44px;padding:0 14px;font-size:.9rem;font-weight:600;font-family:inherit;color:var(--muted);background:transparent;border:0;cursor:pointer;white-space:nowrap}.seg.on{color:#fff;background:var(--brand)}.segment.soft .seg.on{color:var(--brand);background:#e8f0f8}.select{flex:1;min-width:0;min-height:44px;padding:0 10px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.btn.small-btn{width:auto;flex:0 0 auto;min-height:44px;padding:0 14px;font-size:.9rem;color:var(--brand);background:transparent;border-color:var(--line)}.content,.tabbar-inner{width:100%;max-width:600px;margin-inline:auto}.tabbar{display:flex;justify-content:center}.tabbar-inner{display:flex}.warn-card{border-color:#fcd34d;background:#fffbeb}.btn.warn-btn{background:var(--warn);color:#fff}.btn.warn-btn:active{filter:brightness(.92)}.form.nopad{padding:0}.stack{display:flex;flex-direction:column;gap:12px}.stack>.label{margin:0}.btn.small{width:auto;flex:0 0 auto;min-height:44px;padding:0 14px;font-size:.9rem;color:var(--brand);background:var(--card);border-color:var(--line);text-decoration:none}.outcomes{display:flex;flex-wrap:wrap;gap:8px}.chip{min-height:44px;padding:0 16px;font-size:.95rem;font-weight:600;font-family:inherit;color:var(--brand);background:var(--card);border:1px solid var(--brand);border-radius:999px;cursor:pointer}.chip.quiet{color:var(--muted);border-color:var(--line)}.chip.on{color:#fff;background:var(--brand)}.chip.strong{color:#fff;background:var(--brand);border-color:var(--brand)}.chip.strong:active{background:var(--brand-dark)}.title-link{color:var(--brand)}.chip:disabled{opacity:.5}.panel{padding:12px;background:var(--bg);border-radius:var(--radius)}.section-title{font-size:1rem;color:var(--muted)}.late{color:var(--err);font-size:.8rem;font-weight:700}.saved{color:#047857;font-weight:600}.row-sub a{color:var(--brand);text-decoration:none}.thumb{max-height:160px;max-width:100%;border-radius:var(--radius);align-self:flex-start}.photo-full{width:100%;border-radius:var(--radius);margin-top:6px}.stack.tight{gap:4px;align-items:flex-start}.weeknav{display:flex;align-items:center;justify-content:space-between;gap:8px}.weeknav .range{font-weight:600;text-align:center;flex:1}.day-head{display:flex;align-items:baseline;gap:8px}.day-head.today .day-name{color:var(--brand)}.day-name{font-weight:700}.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.tile{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px;display:flex;flex-direction:column;gap:2px}.tile .num{font-size:1.4rem;font-weight:700;line-height:1.1}.tile .num.warn{color:var(--err)}.tile .lbl{font-size:.75rem;color:var(--muted)}.status{font-size:.8rem;font-weight:700}.status.selesai{color:#047857}.status.terlambat{color:var(--err)}.status.dibatalkan,.status.dipindah,.status.belum{color:var(--muted)}.picklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.pick{width:100%;text-align:left;min-height:44px;padding:8px 12px;font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer}.pick:active{background:#eef2f7}.topbar-right{display:flex;align-items:center;gap:10px}.menu{position:relative}.menu-btn{min-height:44px;padding:0 16px;font-size:.9rem;font-weight:600;font-family:inherit;color:#fff;background:#ffffff26;border:1px solid rgba(255,255,255,.35);border-radius:999px;cursor:pointer}.menu-panel{position:absolute;right:0;top:calc(100% + 8px);z-index:20;min-width:220px;padding:6px;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 24px #00000024}.menu-item{display:flex;align-items:center;min-height:48px;padding:0 14px;font-size:1rem;font-weight:600;font-family:inherit;text-align:left;color:var(--ink);background:transparent;text-decoration:none;border:0;border-radius:8px;cursor:pointer}.menu-item:active{background:#eef2f7}.tag.alert{color:var(--err);background:#fee2e2}.count{font-size:.95rem;font-weight:600}.pipe{width:100%;border-collapse:collapse;font-size:.85rem}.pipe th,.pipe td{padding:6px 4px;text-align:center;border-bottom:1px solid var(--line)}.pipe thead th{font-size:.75rem;font-weight:700;color:var(--muted)}.pipe tbody th,.pipe tfoot th{text-align:left;font-weight:600}.pipe tbody th a{color:var(--brand);text-decoration:none;display:inline-flex;align-items:center;min-height:44px;min-width:44px}.pipe td small,.pipe th small{display:block;font-size:.75rem;color:var(--muted);line-height:1.1}.pipe tfoot th,.pipe tfoot td{border-bottom:0;color:var(--muted)}.pipe.compact{font-size:.8rem}.pipe.compact th,.pipe.compact td{padding:6px 2px}.pipe.compact thead th,.pipe.compact tbody th,.pipe.compact tfoot th{font-size:.75rem}.pipe-scroll{overflow-x:auto}.tiles.four{grid-template-columns:repeat(4,1fr)}.tiles.four .tile{padding:10px 8px}.tiles.four .tile .lbl{font-size:.75rem}h3.section-title{margin-top:4px}.offline{padding:6px 16px;text-align:center;font-size:.85rem;font-weight:600;color:#92400e;background:#fef3c7}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(env(safe-area-inset-bottom) + 84px);z-index:30;width:min(calc(100% - 32px),568px);display:flex;align-items:center;gap:8px;padding:10px 12px;color:#fff;background:var(--ink);border-radius:var(--radius);box-shadow:0 8px 24px #00000040}.toast span{flex:1;font-weight:600}.toast .btn.small{color:#fff;background:transparent;border-color:#ffffff80}.steps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px;line-height:1.4}.menu-stamp{margin:4px 0 0;padding:8px 14px 4px;font-size:.75rem;line-height:1.3;color:var(--muted);border-top:1px solid var(--line);font-variant-numeric:tabular-nums;user-select:text}.assign-owner{padding:0 12px 10px}.assign-owner .select{flex:1;min-width:0}.camera{position:fixed;inset:0;z-index:50;display:flex;flex-direction:column;background:#000;color:#fff;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}.camera-title{margin:0;padding:12px 16px;font-weight:600;text-align:center}.camera-stage{position:relative;flex:1;min-height:0}.camera-view{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#000}.camera-view.mirrored{transform:scaleX(-1)}.camera-bar{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;padding:14px 16px 6px}.camera-bar>:first-child{justify-self:start}.camera-bar>:last-child{justify-self:end}.camera-shutter{width:68px;height:68px;border-radius:50%;border:4px solid #fff;background:#fff;box-shadow:inset 0 0 0 3px #000;padding:0;cursor:pointer}.camera-shutter:disabled{opacity:.4}.camera-hint{margin:0;padding:0 16px 14px;text-align:center;font-size:.85rem;color:#ffffffbf}.camera-bar .btn.ghost{color:#fff;border-color:#ffffff80;background:transparent}.place-card{display:flex;gap:10px;align-items:flex-start;margin-top:4px}.place-map{position:relative;width:72px;height:72px;flex:none;overflow:hidden;border-radius:8px;background:var(--line)}.place-map img{position:absolute;max-width:none}.place-pin{position:absolute;left:50%;top:50%;width:14px;height:14px;margin:-14px 0 0 -7px;background:#d93025;border:2px solid #fff;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 1px 3px #0006}.place-text{display:flex;flex-direction:column;gap:2px;min-width:0;overflow-wrap:anywhere}.check{display:flex;align-items:center;gap:10px;min-height:44px;font-size:.95rem}.check input{width:20px;height:20px;flex:none}.sheet-backdrop{position:fixed;inset:0;z-index:60;display:flex;align-items:flex-end;justify-content:center;background:#00000073}.sheet{width:100%;max-width:600px;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:18px 16px calc(16px + env(safe-area-inset-bottom));background:var(--card);border-radius:16px 16px 0 0}.sheet-title{margin:0;font-size:1.1rem;font-weight:700}.sheet .input.area{margin-bottom:0}.sheet-actions{display:flex;flex-direction:column;gap:8px;margin-top:4px}.icon-btn.warn-link{color:var(--warn);border-color:transparent;padding-left:0}.pending-bar{max-width:600px;margin:0 auto;padding:8px 16px;background:#fffbeb;border-bottom:1px solid #fcd34d}.pending-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}.pending-list{margin-top:8px}.kind-chips{display:flex;flex-wrap:wrap;gap:8px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.grid2>.qfield{min-width:0}.qfield{display:flex;flex-direction:column;gap:4px}.qrow .input.area{margin-bottom:0}.quote-total{font-size:1.1rem}h2.section-title{color:var(--ink);font-size:.85rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}h2.section-title .small{text-transform:none;letter-spacing:0;font-weight:600}.page>.stack>h2.section-title{position:sticky;top:0;z-index:5;padding:10px 0 8px;background:var(--bg)}.card>h2,.card>.card-head{padding-bottom:8px;margin-bottom:12px;border-bottom:1px solid var(--line)}.card>.card-head h2{margin:0}.card.done-line{padding:10px 16px}.inquiry-via{align-self:center}.btn.small.on{color:#fff;background:var(--brand);border-color:var(--brand)}.deal-requirement{font-weight:600;margin-bottom:4px}.header-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.today-actions{display:flex;gap:8px}.today-actions .btn{flex:1}.segment.fill{display:flex;width:100%}.segment.fill .seg{flex:1}.count-chips{display:flex;flex-wrap:wrap;gap:8px}.count-chips .chip{min-height:44px}.card.slim{padding:10px 16px}.card.slim h2{font-size:1rem}summary{padding:14px 0;cursor:pointer}.pdf-preview{position:fixed;inset:0;z-index:60;display:flex;flex-direction:column;background:#525659}.pdf-preview-bar{display:flex;align-items:center;gap:8px;padding:8px;background:var(--card)}.pdf-preview-bar strong{flex:1}.pdf-preview-pages{flex:1;overflow:auto;padding:8px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;-webkit-overflow-scrolling:touch}.pdf-preview-pages img{display:block;flex:none;height:auto;margin-inline:auto;background:#fff;box-shadow:0 1px 4px #0006}.terms-list{margin:4px 0 8px;padding-left:18px}.terms-list li{margin:2px 0}.pick-scroll{max-height:264px;overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--line);border-radius:var(--radius);padding:4px;background:var(--bg)}.pick-scroll>.list.flush{margin-bottom:0}.area-combo{display:flex;gap:6px;align-items:stretch}.area-combo>.input{flex:1;min-width:0}.area-toggle{flex:0 0 auto;min-width:48px;font-size:1.1rem}
