*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:linear-gradient(180deg,#f8f8fb,#f0f0f5);background-attachment:fixed;color:#1d1d1f;font-size:15px;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.container{max-width:640px;margin:0 auto;padding:16px}.card{background:#fff;border-radius:14px;padding:16px;margin-bottom:12px;box-shadow:0 0 0 1px #00000008,0 1px 2px #0000000a,0 2px 6px #0000000a,0 8px 20px -4px #0000000f;transition:transform .2s cubic-bezier(.32,.72,0,1),box-shadow .2s cubic-bezier(.32,.72,0,1);position:relative}.card:active{transform:scale(.99);box-shadow:0 0 0 1px #00000008,0 1px 2px #0000000f,0 1px 4px #0000000a}.card-clickable{cursor:pointer}@media (hover: hover){.card-clickable:hover{transform:translateY(-1px);box-shadow:0 0 0 1px #00000008,0 2px 4px #0000000d,0 4px 12px #0000000f,0 12px 28px -6px #00000014}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:11px 16px;border-radius:10px;border:none;background:linear-gradient(180deg,#0a84ff,#007aff);color:#fff;font-size:15px;font-weight:600;cursor:pointer;font-family:inherit;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease;box-shadow:0 1px 2px #007aff4d,0 4px 12px -2px #007aff59;letter-spacing:.1px}.btn:active{transform:scale(.97);box-shadow:0 1px 2px #007aff4d}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:linear-gradient(180deg,#fff,#f5f5f7);color:#1d1d1f;box-shadow:0 0 0 1px #0000000d,0 1px 2px #0000000a,0 2px 6px -2px #0000000f}.btn-secondary:active{box-shadow:0 0 0 1px #0000000d}.btn-danger{background:linear-gradient(180deg,#ff453a,#ff3b30);box-shadow:0 1px 2px #ff3b304d,0 4px 12px -2px #ff3b3059}.btn-block{width:100%}.nav{position:fixed;bottom:0;left:0;right:0;background:#ffffffeb;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-top:1px solid rgba(0,0,0,.06);display:flex;justify-content:space-around;padding:8px 0 max(8px,env(safe-area-inset-bottom));z-index:50;box-shadow:0 -4px 20px -4px #0000000f}.nav a{flex:1;text-align:center;padding:8px 4px;text-decoration:none;color:#8e8e93;font-size:11px;font-weight:500;transition:color .15s ease,transform .15s ease;display:flex;flex-direction:column;align-items:center;gap:3px}.nav a:active{transform:scale(.92)}.nav a.active{color:#007aff}.nav a svg{display:block;transition:transform .2s cubic-bezier(.32,.72,0,1)}.nav a.active svg{transform:scale(1.08)}.header{font-size:24px;font-weight:700;margin-bottom:16px;letter-spacing:-.4px;color:#1d1d1f}.row{display:flex;justify-content:space-between;margin-bottom:6px}.row:last-child{margin-bottom:0}.label{color:#8e8e93;font-size:13px}.value{font-weight:500}.badge{display:inline-block;padding:3px 8px;border-radius:6px;font-size:10px;font-weight:700;letter-spacing:.4px;text-transform:uppercase}.badge-lunas{background:linear-gradient(180deg,#d1f4d9,#b8ecc4);color:#1b7a3a;box-shadow:0 1px 2px #1b7a3a26}.badge-belum{background:linear-gradient(180deg,#ffe0e0,#ffcece);color:#c00;box-shadow:0 1px 2px #cc000026}input,select{width:100%;padding:10px 12px;border:1px solid #d1d1d6;border-radius:10px;font-size:15px;background:#fff;font-family:inherit;transition:border-color .15s ease,box-shadow .15s ease;box-shadow:0 1px 2px #00000008}input:focus,select:focus{outline:none;border-color:#007aff;box-shadow:0 0 0 3px #007aff26,0 1px 2px #00000008}.field{margin-bottom:12px}.field label{display:block;font-size:13px;color:#8e8e93;margin-bottom:6px;font-weight:500}.pad-bottom{padding-bottom:90px}.struk{font-family:Courier New,monospace;background:#fff;padding:20px;border-radius:14px;white-space:pre-wrap;font-size:13px;line-height:1.5;box-shadow:0 0 0 1px #00000008,0 2px 6px #0000000a,0 8px 20px -4px #0000000f}.wa-preview{background:#fff;border-radius:14px;padding:18px 20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.7;color:#1d1d1f;white-space:pre-wrap;word-break:break-word;border-left:3px solid #25d366;box-shadow:0 0 0 1px #00000008,0 2px 6px #0000000a,0 8px 20px -4px #0000000f}.struk-modern{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 16px #00000014}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:999;opacity:0;transition:opacity .22s ease}.modal-backdrop.show{opacity:1}.modal-sheet{position:fixed;bottom:0;left:0;right:0;max-height:88vh;background:#f5f5f7;border-top-left-radius:20px;border-top-right-radius:20px;z-index:1000;display:flex;flex-direction:column;transform:translateY(100%);transition:transform .28s cubic-bezier(.32,.72,0,1);box-shadow:0 -8px 40px #00000026}.modal-sheet.show{transform:translateY(0)}.modal-handle{width:40px;height:4px;background:#d1d1d6;border-radius:2px;margin:10px auto 0;flex-shrink:0}@media (min-width: 640px){.modal-sheet{left:50%;right:auto;bottom:50%;transform:translate(-50%,50%) scale(.95);max-width:560px;width:90%;border-radius:20px;max-height:85vh;opacity:0}.modal-sheet.show{transform:translate(-50%,50%) scale(1);opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
