    :root{
      --navy:#0f172a;
      --navy-2:#172554;
      --slate:#64748b;
      --line:#e2e8f0;
      --bg:#f1f5f9;
      --card:#ffffff;
      --blue:#2563eb;
      --blue-soft:#eff6ff;
      --green:#059669;
      --green-soft:#ecfdf5;
      --amber:#d97706;
      --amber-soft:#fffbeb;
      --red:#dc2626;
      --red-soft:#fef2f2;
      --shadow:0 12px 34px rgba(15,23,42,.09);
    }

    *{box-sizing:border-box}
    html,body{margin:0;min-height:100%;font-family:Arial,sans-serif;color:var(--navy)}
    button,input{font:inherit}
    button{cursor:pointer}
    .hidden{display:none!important}

    body{
      min-height:100dvh;
      background:var(--bg);
      overflow-x:hidden;
    }

    .auth-screen{
      min-height:100dvh;
      display:grid;
      place-items:center;
      padding:18px;
      background:linear-gradient(145deg,var(--navy),var(--navy-2));
    }

    .auth-card{
      width:min(100%,410px);
      background:#fff;
      border-radius:24px;
      padding:26px;
      box-shadow:0 28px 80px rgba(0,0,0,.35);
    }

    .auth-card h1{
      margin:0;
      text-align:center;
      font-size:28px;
    }

    .auth-card h1 span{color:var(--blue)}
    .auth-sub{text-align:center;color:var(--slate);margin:7px 0 22px}
    .field{display:grid;gap:7px;margin-top:13px}
    .field label{font-size:12px;font-weight:800;color:#475569}

    .input{
      width:100%;
      min-height:50px;
      border:1px solid #cbd5e1;
      border-radius:13px;
      padding:12px 14px;
      font-size:16px;
      outline:none;
    }

    .input:focus{
      border-color:var(--blue);
      box-shadow:0 0 0 3px rgba(37,99,235,.12);
    }

    .btn{
      min-height:46px;
      border:0;
      border-radius:13px;
      padding:11px 15px;
      font-weight:900;
      font-size:14px;
    }

    .btn-primary{background:var(--blue);color:#fff}
    .btn-soft{background:#e2e8f0;color:#334155}
    .btn-danger{background:var(--red-soft);color:#b91c1c}
    .btn-block{width:100%}
    .auth-submit{margin-top:17px;min-height:50px;font-size:15px}

    .auth-card .error{
      display:none;
      margin:0 0 14px;
      padding:11px 12px;
      border-radius:11px;
      background:var(--red-soft);
      color:#b91c1c;
      font-size:13px;
    }

    .auth-card .error.show{display:block}
    .small-note{
      margin-top:15px;
      text-align:center;
      color:#94a3b8;
      font-size:11px;
      line-height:1.5;
    }

    .app-shell{
      min-height:100dvh;
      display:flex;
    }

    .sidebar{
      position:fixed;
      inset:0 auto 0 0;
      width:270px;
      z-index:50;
      display:flex;
      flex-direction:column;
      color:#fff;
      background:var(--navy);
      box-shadow:12px 0 35px rgba(15,23,42,.18);
      transition:transform .22s ease;
    }

    .brand{
      flex:0 0 auto;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      padding:21px 18px;
      border-bottom:1px solid #25324a;
    }

    .brand h1{margin:0;font-size:22px;letter-spacing:.2px}
    .brand h1 span{color:#60a5fa}
    .brand small{display:block;color:#94a3b8;margin-top:5px}
    .drawer-close{
      display:none;
      width:40px;
      height:40px;
      border:0;
      border-radius:12px;
      background:#1e293b;
      color:#fff;
      font-size:24px;
    }

    .nav{
      flex:1 1 auto;
      min-height:0;
      overflow-y:auto;
      overscroll-behavior:contain;
      -webkit-overflow-scrolling:touch;
      padding:12px;
    }

    .nav-label{
      padding:16px 12px 7px;
      color:#708096;
      font-size:10px;
      font-weight:900;
      letter-spacing:1px;
    }

    .nav-btn{
      width:100%;
      min-height:48px;
      display:flex;
      align-items:center;
      gap:12px;
      border:0;
      border-radius:12px;
      padding:11px 13px;
      margin-bottom:5px;
      background:transparent;
      color:#cbd5e1;
      text-align:left;
      font-weight:850;
    }

    .nav-btn:hover{background:#1e293b}
    .nav-btn.active{background:var(--blue);color:#fff}
    .nav-icon{width:24px;text-align:center;font-size:18px}

    .sidebar-foot{
      flex:0 0 auto;
      padding:14px 17px calc(14px + env(safe-area-inset-bottom));
      border-top:1px solid #25324a;
      color:#94a3b8;
      font-size:11px;
      line-height:1.5;
    }

    .overlay{
      display:none;
      position:fixed;
      inset:0;
      z-index:45;
      background:rgba(15,23,42,.58);
      backdrop-filter:blur(2px);
    }

    .main{
      width:calc(100% - 270px);
      min-width:0;
      margin-left:270px;
    }

    .topbar{
      position:sticky;
      top:0;
      z-index:30;
      min-height:68px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      padding:9px 18px;
      background:rgba(255,255,255,.96);
      border-bottom:1px solid var(--line);
      box-shadow:0 4px 16px rgba(15,23,42,.05);
      backdrop-filter:blur(12px);
    }

    .top-left{display:flex;align-items:center;gap:11px;min-width:0}
    .menu-btn{
      display:none;
      width:44px;
      height:44px;
      border:0;
      border-radius:13px;
      background:#eef2f7;
      font-size:22px;
    }

    .page-title{
      font-size:18px;
      font-weight:950;
      white-space:nowrap;
      overflow:hidden;
      text-overflow:ellipsis;
    }

    .page-subtitle{
      margin-top:3px;
      color:var(--slate);
      font-size:11px;
    }

    .user-area{display:flex;align-items:center;gap:8px}
    .user-chip{
      max-width:190px;
      border:1px solid #dbe3ef;
      border-radius:13px;
      background:#fff;
      padding:8px 11px;
      text-align:left;
    }

    .user-name{
      display:block;
      color:var(--navy);
      font-size:12px;
      font-weight:900;
      white-space:nowrap;
      overflow:hidden;
      text-overflow:ellipsis;
    }

    .user-role{
      display:block;
      margin-top:2px;
      color:var(--slate);
      font-size:9px;
      font-weight:850;
    }

    .logout-top{
      width:44px;
      height:44px;
      border:0;
      border-radius:13px;
      background:var(--red-soft);
      color:#b91c1c;
      font-size:18px;
      font-weight:900;
    }

    .content{
      width:100%;
      max-width:1440px;
      margin:auto;
      padding:22px;
    }

    .page{display:none}
    .page.active{display:block}

    .hero{
      position:relative;
      overflow:hidden;
      min-height:215px;
      padding:25px;
      border-radius:24px;
      color:#fff;
      background:
        radial-gradient(circle at 90% 10%,rgba(255,255,255,.24),transparent 28%),
        linear-gradient(140deg,#1d4ed8,#2563eb 53%,#4338ca);
      box-shadow:0 18px 42px rgba(37,99,235,.23);
    }

    .hero::after{
      content:"";
      position:absolute;
      right:-65px;
      bottom:-105px;
      width:210px;
      height:210px;
      border:35px solid rgba(255,255,255,.08);
      border-radius:50%;
    }

    .hero-content{position:relative;z-index:1}
    .hero-kicker{
      font-size:11px;
      font-weight:900;
      letter-spacing:1px;
      opacity:.78;
    }

    .hero h2{
      margin:17px 0 0;
      font-size:34px;
      line-height:1.08;
      letter-spacing:-1px;
    }

    .hero p{
      max-width:650px;
      margin:12px 0 0;
      color:#dbeafe;
      line-height:1.55;
    }

    .hero-meta{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      margin-top:21px;
    }

    .hero-pill{
      padding:7px 10px;
      border:1px solid rgba(255,255,255,.21);
      border-radius:999px;
      background:rgba(255,255,255,.14);
      font-size:11px;
      font-weight:850;
    }

    .grid{display:grid;gap:14px}
    .grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
    .grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
    .summary-grid{margin-top:14px}

    .card{
      border:1px solid var(--line);
      border-radius:18px;
      background:var(--card);
      box-shadow:var(--shadow);
    }

    .card-pad{padding:18px}
    .summary-card{min-height:145px;padding:18px}
    .summary-icon{
      width:42px;
      height:42px;
      display:grid;
      place-items:center;
      border-radius:14px;
      background:var(--blue-soft);
      color:var(--blue);
      font-size:19px;
      font-weight:950;
    }

    .summary-label{
      margin-top:15px;
      color:var(--slate);
      font-size:10px;
      font-weight:900;
      letter-spacing:.6px;
    }

    .summary-value{
      margin-top:5px;
      font-size:23px;
      font-weight:1000;
      overflow-wrap:anywhere;
    }

    .summary-note{
      margin-top:5px;
      color:#8491a5;
      font-size:11px;
      line-height:1.4;
    }

    .section-head{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:12px;
      margin-bottom:14px;
    }

    .section-head h3{margin:0;font-size:17px}
    .section-head p{margin:5px 0 0;color:var(--slate);font-size:12px}
    .quick-grid{
      display:grid;
      grid-template-columns:repeat(4,minmax(0,1fr));
      gap:10px;
    }

    .quick-btn{
      min-height:105px;
      border:1px solid var(--line);
      border-radius:16px;
      background:#fff;
      padding:13px 8px;
      color:#263248;
      font-weight:850;
    }

    .quick-btn:hover{background:#f8fafc}
    .quick-icon{
      width:40px;
      height:40px;
      display:grid;
      place-items:center;
      margin:0 auto 9px;
      border-radius:13px;
      background:var(--blue-soft);
      color:var(--blue);
      font-size:19px;
    }

    .status-list{display:grid;gap:10px}
    .status-row{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      padding:13px 0;
      border-bottom:1px solid #edf2f7;
    }

    .status-row:last-child{border-bottom:0}
    .status-main{display:flex;align-items:center;gap:11px;min-width:0}
    .status-dot{width:10px;height:10px;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px var(--green-soft)}
    .status-name{font-size:13px;font-weight:900}
    .status-desc{margin-top:3px;color:var(--slate);font-size:11px}
    .status-badge{
      flex:0 0 auto;
      padding:6px 9px;
      border-radius:999px;
      background:var(--green-soft);
      color:#047857;
      font-size:10px;
      font-weight:900;
    }

    .notice{
      margin-top:14px;
      padding:13px;
      border:1px solid #fde68a;
      border-radius:13px;
      background:var(--amber-soft);
      color:#92400e;
      font-size:12px;
      line-height:1.5;
    }

    .page-head{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:14px;
      margin-bottom:15px;
    }

    .page-head h2{margin:0;font-size:25px}
    .page-head p{margin:6px 0 0;color:var(--slate);font-size:13px}
    .placeholder{
      min-height:310px;
      display:grid;
      place-items:center;
      padding:25px;
      text-align:center;
    }

    .placeholder-icon{
      width:70px;
      height:70px;
      display:grid;
      place-items:center;
      margin:0 auto 15px;
      border-radius:22px;
      background:var(--blue-soft);
      color:var(--blue);
      font-size:30px;
    }

    .placeholder h3{margin:0;font-size:21px}
    .placeholder p{
      max-width:560px;
      margin:9px auto 0;
      color:var(--slate);
      line-height:1.6;
    }

    .dev-badge{
      display:inline-flex;
      margin-top:15px;
      padding:7px 10px;
      border-radius:999px;
      background:#ede9fe;
      color:#5b21b6;
      font-size:10px;
      font-weight:900;
    }

    .primary-btn,.secondary-btn,.danger-btn,.icon-btn{
      border:0;
      border-radius:13px;
      font-weight:900;
      transition:transform .15s ease,opacity .15s ease;
    }

    .primary-btn:active,.secondary-btn:active,.danger-btn:active,.icon-btn:active{
      transform:scale(.98);
    }

    .primary-btn{
      min-height:44px;
      padding:0 17px;
      background:var(--blue);
      color:#fff;
    }

    .secondary-btn{
      min-height:44px;
      padding:0 15px;
      background:#e7edf5;
      color:#334155;
    }

    .danger-btn{
      min-height:44px;
      padding:0 15px;
      background:var(--red-soft);
      color:#b91c1c;
    }

    .icon-btn{
      width:42px;
      height:42px;
      background:#eef3f9;
      color:#334155;
      font-size:18px;
    }

    .customer-page-head{
      align-items:center;
    }

    .customer-toolbar{
      padding:15px;
      margin-bottom:13px;
    }

    .customer-search-row{
      display:grid;
      grid-template-columns:minmax(0,1fr) auto auto;
      gap:9px;
    }

    .customer-search-row input,
    .customer-form input,
    .customer-form textarea{
      width:100%;
      border:1px solid #cbd5e1;
      border-radius:13px;
      background:#fff;
      color:var(--navy);
      outline:none;
    }

    .customer-search-row input{
      min-height:46px;
      padding:0 14px;
    }

    .customer-search-row input:focus,
    .customer-form input:focus,
    .customer-form textarea:focus{
      border-color:#60a5fa;
      box-shadow:0 0 0 3px rgba(37,99,235,.10);
    }

    .customer-help{
      margin-top:9px;
      color:var(--slate);
      font-size:11px;
      line-height:1.5;
    }

    .customer-result-head{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      margin:11px 2px;
    }

    .customer-result-info{
      color:var(--slate);
      font-size:12px;
      font-weight:800;
    }

    .customer-list{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:12px;
    }

    .customer-card{
      position:relative;
      min-width:0;
      border:1px solid #dde5ef;
      border-radius:18px;
      background:#fff;
      padding:16px;
      box-shadow:0 8px 22px rgba(15,23,42,.05);
      cursor:pointer;
    }

    .customer-card:hover{
      border-color:#93c5fd;
      box-shadow:0 13px 30px rgba(37,99,235,.10);
    }

    .customer-card-top{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:12px;
    }

    .customer-avatar{
      width:43px;
      height:43px;
      flex:0 0 auto;
      display:grid;
      place-items:center;
      border-radius:14px;
      background:var(--blue-soft);
      color:var(--blue);
      font-weight:1000;
    }

    .customer-name{
      margin:0;
      font-size:16px;
      font-weight:1000;
      overflow-wrap:anywhere;
    }

    .customer-id{
      margin-top:4px;
      color:#94a3b8;
      font-size:10px;
      font-weight:800;
    }

    .customer-status{
      flex:0 0 auto;
      padding:6px 8px;
      border-radius:999px;
      background:var(--green-soft);
      color:#047857;
      font-size:9px;
      font-weight:1000;
    }

    .customer-status.inactive{
      background:var(--red-soft);
      color:#b91c1c;
    }

    .customer-lines{
      display:grid;
      gap:7px;
      margin-top:14px;
      color:#526075;
      font-size:12px;
    }

    .customer-line{
      display:flex;
      gap:8px;
      min-width:0;
      line-height:1.45;
    }

    .customer-line span:last-child{
      min-width:0;
      overflow-wrap:anywhere;
    }

    .customer-card-bottom{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
      margin-top:14px;
      padding-top:12px;
      border-top:1px solid #edf2f7;
      color:#64748b;
      font-size:10px;
      font-weight:800;
    }

    .customer-empty{
      grid-column:1/-1;
      min-height:250px;
      display:grid;
      place-items:center;
      border:1px dashed #cbd5e1;
      border-radius:18px;
      background:rgba(255,255,255,.65);
      padding:24px;
      text-align:center;
      color:var(--slate);
    }

    .customer-empty-icon{
      width:60px;
      height:60px;
      display:grid;
      place-items:center;
      margin:0 auto 12px;
      border-radius:18px;
      background:var(--blue-soft);
      color:var(--blue);
      font-size:26px;
    }

    .inventory-stock-row{
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:8px;
      margin-top:13px;
    }

    .inventory-stock-box{
      padding:10px;
      border-radius:13px;
      background:#f8fafc;
      border:1px solid #e2e8f0;
      text-align:center;
    }

    .inventory-stock-label{
      color:#64748b;
      font-size:9px;
      font-weight:900;
      letter-spacing:.05em;
    }

    .inventory-stock-value{
      margin-top:3px;
      color:var(--navy);
      font-size:18px;
      font-weight:1000;
    }

    .inventory-price{
      color:#0f766e;
      font-weight:1000;
    }

    .inventory-code{
      display:inline-flex;
      align-items:center;
      min-height:25px;
      padding:0 8px;
      border-radius:999px;
      background:#eff6ff;
      color:#1d4ed8;
      font-size:9px;
      font-weight:1000;
    }

    .inventory-card-compact{
      padding:13px 14px;
    }

    .inventory-compact-head{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:10px;
    }

    .inventory-compact-identity{
      display:flex;
      gap:10px;
      min-width:0;
    }

    .inventory-compact-avatar{
      width:39px;
      height:39px;
      border-radius:12px;
      font-size:13px;
    }

    .inventory-compact-title-wrap{min-width:0}
    .inventory-compact-name{
      display:-webkit-box;
      overflow:hidden;
      -webkit-box-orient:vertical;
      -webkit-line-clamp:2;
      font-size:14px;
      line-height:1.3;
    }

    .inventory-compact-meta{
      display:flex;
      align-items:center;
      flex-wrap:wrap;
      gap:7px;
      margin-top:10px;
    }

    .inventory-compact-category{
      min-width:0;
      color:#64748b;
      font-size:10px;
      font-weight:800;
      overflow-wrap:anywhere;
    }

    .inventory-compact-footer{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
      margin-top:10px;
      padding-top:9px;
      border-top:1px solid #edf2f7;
    }

    .inventory-card-compact .inventory-price{
      flex:0 0 auto;
      font-size:14px;
    }

    .inventory-compact-stock{
      min-width:0;
      padding:6px 8px;
      border:1px solid #dbe5f1;
      border-radius:999px;
      background:#f8fafc;
      color:#475569;
      font-size:9px;
      font-weight:900;
      text-align:right;
      white-space:nowrap;
    }

    .inventory-compact-stock b{color:#0f172a;font-size:11px}
    .inventory-compact-stock.rx{
      border-color:#bfdbfe;
      background:#eff6ff;
      color:#1d4ed8;
    }

    .inventory-form-grid{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:13px;
    }

    .inventory-form-grid .full{
      grid-column:1/-1;
    }

    .inventory-select{
      width:100%;
      min-height:46px;
      padding:0 13px;
      border:1px solid #cbd5e1;
      border-radius:13px;
      background:#fff;
      color:var(--navy);
      outline:none;
    }

    .movement-list{
      display:grid;
      gap:8px;
    }

    .movement-item{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:12px;
      padding:11px 12px;
      border:1px solid #e2e8f0;
      border-radius:13px;
      background:#fff;
    }

    .movement-main{min-width:0}
    .movement-title{font-size:12px;font-weight:1000}
    .movement-note{margin-top:3px;color:#64748b;font-size:10px;line-height:1.4}
    .movement-qty{flex:0 0 auto;font-size:14px;font-weight:1000}
    .movement-qty.in{color:#047857}
    .movement-qty.out{color:#b91c1c}

    .cashier-layout{
      display:grid;
      grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr);
      gap:14px;
      align-items:start;
    }

    .cashier-stack{display:grid;gap:14px}
    .cashier-card{padding:18px}
    .cashier-title{margin:0;font-size:16px;font-weight:1000}
    .cashier-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
    .cashier-section-head>div{min-width:0}
    .section-status{flex:0 0 auto;display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:9px;font-weight:1000;text-align:center}
    .section-status.complete{background:#ecfdf5;color:#047857}.section-status.warning{background:#fffbeb;color:#b45309}.section-status.danger{background:#fef2f2;color:#b91c1c}
    .cashier-card.section-invalid{border-color:#fca5a5;box-shadow:0 0 0 3px rgba(239,68,68,.08)}
    .field-invalid{border-color:#ef4444!important;box-shadow:0 0 0 3px rgba(239,68,68,.1)!important}
    .cashier-sub{margin:5px 0 0;color:#64748b;font-size:11px;line-height:1.5}
    .cashier-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
    .cashier-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
    .cashier-field{display:grid;gap:6px}
    .cashier-field.full{grid-column:1/-1}
    .cashier-field label{color:#475569;font-size:10px;font-weight:1000;letter-spacing:.04em}
    .cashier-field input,.cashier-field select,.cashier-field textarea{
      width:100%;min-height:46px;padding:0 13px;border:1px solid #cbd5e1;border-radius:13px;background:#fff;color:#0f172a;outline:none
    }
    .cashier-field textarea{min-height:82px;padding-top:11px;resize:vertical}
    .cashier-field input:focus,.cashier-field select:focus,.cashier-field textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.1)}
    .cashier-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;margin-top:13px}
    .cashier-search input{width:100%;min-height:46px;padding:0 13px;border:1px solid #cbd5e1;border-radius:13px;outline:none}
    .cashier-results{display:grid;gap:9px;margin-top:10px;max-height:280px;overflow:auto}
    .cashier-result{
      width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border:1px solid #e2e8f0;border-radius:15px;background:#fff;text-align:left;color:#0f172a
    }
    .cashier-result:hover{border-color:#93c5fd;background:#eff6ff}
    .cashier-result-main{min-width:0;display:grid;gap:6px;flex:1 1 auto}
    .cashier-result-name{font-size:15px;font-weight:1000;line-height:1.25;white-space:normal;overflow-wrap:anywhere}
    .cashier-result-meta{margin-top:3px;color:#64748b;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .cashier-result-meta-row{display:flex;align-items:center;gap:7px;min-width:0;flex-wrap:wrap;color:#64748b;font-size:11px;line-height:1.35}
    .cashier-result-pill{display:inline-flex;align-items:center;min-height:24px;padding:4px 8px;border-radius:999px;background:#eef6ff;color:#1d4ed8;font-size:11px;font-weight:900;white-space:nowrap}
    .cashier-result-address{min-width:150px;flex:1 1 220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .cashier-result-side{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 12px;border-radius:999px;background:#eff6ff;color:#2563eb;font-size:11px;font-weight:1000;text-transform:uppercase}
    .cashier-selected{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-top:12px;padding:13px;border:1px solid #bfdbfe;border-radius:15px;background:#eff6ff}
    .cashier-selected strong{display:block;font-size:13px}
    .cashier-selected span{display:block;margin-top:4px;color:#64748b;font-size:10px;line-height:1.45}
    .cashier-selected-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
    .use-rx-btn{min-height:34px;padding:0 10px;border:1px solid #bbf7d0;border-radius:10px;background:#ecfdf5;color:#047857;font-size:9px;font-weight:1000}
    .cashier-customer-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;flex-wrap:wrap}
    .cashier-customer-actions small{color:#64748b;font-size:9px;line-height:1.4}
    .cashier-add-customer-btn{min-height:40px;padding:0 13px;border:1px solid #bfdbfe;border-radius:12px;background:#eff6ff;color:#1d4ed8;font-size:10px;font-weight:1000}
    .cashier-add-customer-btn:hover{background:#dbeafe}
    .mini-btn{min-height:34px;padding:0 11px;border:0;border-radius:10px;background:#e2e8f0;color:#334155;font-size:10px;font-weight:1000}
    .cart-list{display:grid;gap:9px;margin-top:13px}
    .cart-empty{padding:22px;border:1px dashed #cbd5e1;border-radius:15px;color:#64748b;text-align:center;font-size:11px}
    .cart-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:12px;border:1px solid #e2e8f0;border-radius:15px;background:#fff}
    .cart-name{font-size:12px;font-weight:1000;line-height:1.35}
    .cart-meta{margin-top:4px;color:#64748b;font-size:10px;line-height:1.45}
    .cart-price{margin-top:6px;color:#047857;font-size:11px;font-weight:1000}
    .qty-box{display:flex;align-items:center;gap:7px}
    .qty-btn{width:32px;height:32px;border:0;border-radius:10px;background:#eff6ff;color:#1d4ed8;font-size:16px;font-weight:1000}
    .qty-value{min-width:22px;text-align:center;font-size:13px;font-weight:1000}
    .cart-remove{margin-top:7px;width:100%;min-height:29px;border:0;border-radius:9px;background:#fef2f2;color:#b91c1c;font-size:9px;font-weight:1000}
    .rx-table{display:grid;grid-template-columns:58px repeat(4,minmax(0,1fr));gap:7px;margin-top:13px;align-items:center}
    .rx-head{color:#64748b;font-size:9px;font-weight:1000;text-align:center}
    .rx-eye{font-size:10px;font-weight:1000}
    .rx-table input{width:100%;min-width:0;height:40px;padding:0 7px;border:1px solid #cbd5e1;border-radius:10px;text-align:center;outline:none}
    .cashier-summary{position:sticky;top:84px}
    .summary-line{display:flex;justify-content:space-between;gap:12px;padding:8px 0;color:#475569;font-size:11px;border-bottom:1px dashed #e2e8f0}
    .summary-line strong{color:#0f172a}
    .summary-line.total{padding:13px 0;font-size:16px;border-bottom:0}
    .summary-line.total strong{color:#2563eb;font-size:21px}
    .cashier-quick-pay{min-height:36px;padding:0 11px;border:1px solid #bfdbfe;border-radius:11px;background:#eff6ff;color:#1d4ed8;font-size:9px;font-weight:1000}
    .discount-grid{display:grid;grid-template-columns:130px minmax(0,1fr);gap:9px;margin-top:13px}.discount-hint{margin-top:5px;color:#64748b;font-size:9px}
    .payment-card{padding:12px;border:1px solid #dbe5f1;border-radius:15px;background:#f8fafc}.payment-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.payment-card-title{font-size:11px;font-weight:1000;color:#0f172a}.payment-card-sub{margin-top:2px;color:#64748b;font-size:8px}.payment-delete{width:34px;height:34px;border:0;border-radius:10px;background:#fef2f2;color:#b91c1c;font-size:15px;font-weight:1000}.payment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.payment-field{display:grid;gap:5px}.payment-field.full{grid-column:1/-1}.payment-field label{font-size:9px;font-weight:1000;color:#64748b}.payment-field input,.payment-field select{width:100%;min-height:43px;padding:0 11px;border:1px solid #cbd5e1;border-radius:11px;background:#fff;color:#0f172a;outline:none}.payment-change{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;border-radius:11px;background:#ecfdf5;color:#047857;font-size:9px;font-weight:900}.payment-actions-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:9px;flex-wrap:wrap}.payment-status-panel{margin-top:12px;padding:12px;border-radius:14px;background:#f1f5f9;color:#475569}.payment-status-panel strong{display:block;font-size:12px}.payment-status-panel span{display:block;margin-top:3px;font-size:9px;line-height:1.4}.payment-status-panel.complete{background:#ecfdf5;color:#047857}.payment-status-panel.warning{background:#fffbeb;color:#b45309}.payment-status-panel.danger{background:#fef2f2;color:#b91c1c}.cashier-review{margin-top:12px;padding:12px;border:1px solid #dbe5f1;border-radius:14px;background:#fff}.cashier-review-title{margin-bottom:7px;font-size:9px;font-weight:1000;color:#64748b}.cashier-review-row{display:flex;justify-content:space-between;gap:10px;padding:4px 0;font-size:10px}.cashier-review-row strong{text-align:right}.transaction-quick-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:11px}.transaction-quick-actions button{min-height:34px;border:1px solid #dbe5f1;border-radius:10px;background:#f8fafc;color:#334155;font-size:8px;font-weight:1000}.transaction-quick-actions button.primary{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}
    .rx-eye-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:13px}
    .rx-eye-card{padding:13px;border:1px solid #dbe5f1;border-radius:16px;background:#f8fafc}
    .rx-eye-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
    .rx-eye-card-head strong{font-size:13px}.rx-eye-card-head span{font-size:9px;font-weight:1000;color:#2563eb;background:#dbeafe;border-radius:999px;padding:5px 8px}
    .rx-eye-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
    .rx-mini-field{display:grid;gap:5px}.rx-mini-field label{font-size:9px;font-weight:1000;color:#64748b}
    .rx-mini-field select,.rx-mini-field input{width:100%;min-width:0;min-height:43px;padding:0 9px;border:1px solid #cbd5e1;border-radius:11px;background:#fff;text-align:center;outline:none}
    .mobile-cashier-bar{position:sticky;z-index:60;bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding:10px 12px;border:1px solid #dbe5f1;border-radius:16px;background:rgba(255,255,255,.97);box-shadow:0 12px 28px rgba(15,23,42,.14);backdrop-filter:blur(12px)}
    .mobile-cashier-total{display:grid;gap:2px;min-width:0}.mobile-cashier-total span{font-size:8px;font-weight:1000;color:#64748b}.mobile-cashier-total strong{font-size:18px;color:#1d4ed8;white-space:nowrap}.mobile-cashier-total small{font-size:9px;color:#64748b;white-space:nowrap}.mobile-cashier-save{min-width:150px;min-height:48px;border:0;border-radius:14px;background:#2563eb;color:#fff;font-weight:1000;box-shadow:0 9px 20px rgba(37,99,235,.24)}.mobile-cashier-save:disabled{opacity:.55;box-shadow:none}
    .receipt-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:14px}
    .receipt-action-btn{min-height:48px;border:1px solid #bfdbfe;border-radius:13px;background:#eff6ff;color:#1d4ed8;font-weight:1000}
    .receipt-action-btn.primary{border-color:#2563eb;background:#2563eb;color:#fff}
    .receipt-action-btn.whatsapp{border-color:#bbf7d0;background:#ecfdf5;color:#047857}
    .success-note-card{padding:16px;border:1px solid #bfdbfe;border-radius:17px;background:linear-gradient(135deg,#eff6ff,#fff);text-align:center}
    .success-note-icon{font-size:34px}.success-note-title{margin-top:6px;font-size:17px;font-weight:1000}.success-note-meta{margin-top:5px;color:#64748b;font-size:10px;line-height:1.5}
    .print-help{margin-top:10px;color:#64748b;font-size:9px;line-height:1.5;text-align:center}
    .draft-status-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;flex-wrap:wrap}
    .draft-status{display:inline-flex;align-items:center;gap:7px;min-height:30px;padding:5px 10px;border:1px solid #cbd5e1;border-radius:999px;background:#f8fafc;color:#475569;font-size:10px;font-weight:900}
    .draft-status.saving{border-color:#fde68a;background:#fffbeb;color:#92400e}
    .draft-status.saved{border-color:#bbf7d0;background:#f0fdf4;color:#166534}
    .draft-status.offline{border-color:#fecaca;background:#fef2f2;color:#991b1b}
    .transaction-load-more{display:flex;justify-content:center;margin-top:12px}
    .transaction-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 150px 150px auto;gap:9px;padding:16px}
    .transaction-toolbar input,.transaction-toolbar select{min-height:44px;padding:0 12px;border:1px solid #cbd5e1;border-radius:12px;background:#fff;outline:none}
    .transaction-list{display:grid;gap:11px;margin-top:13px}
    .transaction-card{padding:15px;border:1px solid #e2e8f0;border-radius:17px;background:#fff;box-shadow:0 8px 22px rgba(15,23,42,.05);cursor:pointer}
    .transaction-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
    .transaction-nota{font-size:14px;font-weight:1000}
    .transaction-customer{margin-top:4px;color:#475569;font-size:11px}
    .transaction-date{margin-top:4px;color:#94a3b8;font-size:9px}
    .transaction-badges{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:5px}
    .transaction-badge{display:inline-flex;align-items:center;min-height:25px;padding:0 8px;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:8px;font-weight:1000}
    .transaction-badge.green{background:#ecfdf5;color:#047857}.transaction-badge.amber{background:#fffbeb;color:#b45309}.transaction-badge.gray{background:#f1f5f9;color:#475569}
    .transaction-money{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:13px}
    .transaction-money-box{padding:10px;border-radius:12px;background:#f8fafc;text-align:center}
    .transaction-money-label{color:#64748b;font-size:8px;font-weight:1000}
    .transaction-money-value{margin-top:4px;font-size:12px;font-weight:1000}
    .transaction-detail-items{display:grid;gap:7px}
    .transaction-detail-item{display:flex;justify-content:space-between;gap:12px;padding:10px;border:1px solid #e2e8f0;border-radius:12px}
    .transaction-detail-item strong{display:block;font-size:11px}.transaction-detail-item span{color:#64748b;font-size:9px}

    .modal{
      position:fixed;
      inset:0;
      z-index:150;
      display:none;
      align-items:center;
      justify-content:center;
      padding:16px;
      background:rgba(15,23,42,.62);
      backdrop-filter:blur(3px);
    }

    .modal.show{display:flex}

    .modal-card{
      width:min(100%,620px);
      max-height:min(88dvh,820px);
      display:flex;
      flex-direction:column;
      overflow:hidden;
      border-radius:22px;
      background:#fff;
      box-shadow:0 30px 90px rgba(0,0,0,.32);
    }

    .modal-head{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      padding:17px 18px;
      border-bottom:1px solid var(--line);
    }

    .modal-head h3{margin:0;font-size:19px}
    .modal-head p{margin:4px 0 0;color:var(--slate);font-size:11px}
    .modal-body{
      min-height:0;
      overflow:auto;
      padding:18px;
    }

    .modal-actions{
      display:flex;
      justify-content:flex-end;
      gap:9px;
      padding:14px 18px;
      border-top:1px solid var(--line);
      background:#f8fafc;
    }
    .modal-actions.wrap{flex-wrap:wrap}
    .simple-confirm-card{max-width:480px}
    .simple-confirm-message{white-space:pre-line;line-height:1.55;font-size:13px!important;color:#475467!important}

    .customer-form{
      display:grid;
      gap:14px;
    }

    .customer-form label{
      display:block;
      margin-bottom:7px;
      color:#475569;
      font-size:11px;
      font-weight:900;
    }

    .customer-form input{
      min-height:46px;
      padding:0 13px;
    }

    .customer-form textarea{
      min-height:100px;
      resize:vertical;
      padding:12px 13px;
      line-height:1.5;
    }

    .customer-detail-hero{
      display:flex;
      align-items:flex-start;
      gap:13px;
      padding:15px;
      border-radius:17px;
      background:linear-gradient(145deg,#eff6ff,#f8fafc);
    }

    .customer-detail-avatar{
      width:55px;
      height:55px;
      flex:0 0 auto;
      display:grid;
      place-items:center;
      border-radius:17px;
      background:#dbeafe;
      color:var(--blue);
      font-size:20px;
      font-weight:1000;
    }

    .customer-detail-name{
      margin:1px 0 0;
      font-size:20px;
      font-weight:1000;
    }

    .customer-detail-meta{
      margin-top:5px;
      color:#64748b;
      font-size:11px;
      line-height:1.5;
    }

    .detail-section{
      margin-top:16px;
    }

    .detail-section h4{
      margin:0 0 9px;
      font-size:13px;
    }

    .detail-grid{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:9px;
    }

    .detail-box{
      min-width:0;
      padding:12px;
      border:1px solid #e2e8f0;
      border-radius:14px;
      background:#fff;
    }

    .detail-label{
      color:#94a3b8;
      font-size:9px;
      font-weight:1000;
      letter-spacing:.4px;
      text-transform:uppercase;
    }

    .detail-value{
      margin-top:5px;
      color:#263248;
      font-size:12px;
      font-weight:850;
      line-height:1.45;
      overflow-wrap:anywhere;
    }

    .rx-grid{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:10px;
    }

    .rx-card{
      padding:13px;
      border-radius:15px;
      background:#f8fafc;
      border:1px solid #e2e8f0;
    }

    .rx-eye{
      margin-bottom:8px;
      font-size:12px;
      font-weight:1000;
    }

    .rx-line{
      color:#526075;
      font-size:11px;
      line-height:1.7;
    }

    .history-list{display:grid;gap:8px}
    .history-item{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:10px;
      padding:11px 0;
      border-bottom:1px solid #edf2f7;
    }

    .history-item:last-child{border-bottom:0}
    .history-title{font-size:12px;font-weight:900}
    .history-note{margin-top:4px;color:#64748b;font-size:10px}
    .history-total{font-size:11px;font-weight:900;white-space:nowrap}

    .loading{
      position:fixed;
      inset:0;
      z-index:100;
      display:none;
      place-items:center;
      background:rgba(15,23,42,.48);
    }

    .loading.show{display:grid}
    .loading-card{
      padding:16px 20px;
      border-radius:14px;
      background:#fff;
      font-weight:900;
      box-shadow:var(--shadow);
    }

    .toast-wrap{
      position:fixed;
      top:82px;
      right:16px;
      z-index:120;
      display:grid;
      gap:8px;
    }

    .toast{
      min-width:260px;
      max-width:390px;
      padding:13px 14px;
      border-left:5px solid var(--blue);
      border-radius:12px;
      background:#fff;
      box-shadow:0 16px 40px rgba(15,23,42,.18);
      font-size:13px;
    }

    .toast.error{border-color:var(--red)}


    .optical-action-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
    .optical-action-row.single{grid-template-columns:1fr}
    .optical-action-btn{min-height:48px;border:1px solid #bfdbfe;border-radius:14px;background:#eff6ff;color:#1d4ed8;display:flex;align-items:center;justify-content:center;gap:9px;font-size:11px;font-weight:1000}
    .optical-action-btn.manual{border-color:#dbe5f1;background:#f8fafc;color:#334155}
    .optical-action-icon{font-size:18px;line-height:1}
    .optical-selected-row>div{min-width:0}.optical-selected-row b,.optical-selected-row small{overflow-wrap:anywhere}
    .inventory-picker-card{max-width:720px}
    .picker-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px}
    .picker-search input{width:100%;min-height:48px;padding:0 14px;border:1px solid #cbd5e1;border-radius:13px;outline:none}
    .picker-search input:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.1)}
    .picker-results{display:grid;gap:8px;margin-top:12px;max-height:42dvh;overflow:auto}
    .picker-result-summary{position:sticky;top:0;z-index:1;padding:7px 10px;border:1px solid #dbe5f1;border-radius:11px;background:rgba(248,250,252,.96);color:#475569;font-size:9px;font-weight:1000;backdrop-filter:blur(8px)}
    .picker-result{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px;border:1px solid #e2e8f0;border-radius:14px;background:#fff;text-align:left;color:#0f172a}
    .picker-result.selected{border-color:#2563eb;background:#eff6ff}.picker-result:disabled{opacity:.55}
    .picker-result-main{display:grid;gap:4px;min-width:0}.picker-result-name{font-size:12px;font-weight:1000;line-height:1.35}.picker-result-price{font-size:15px;line-height:1.15;color:#0f3f9f;font-variant-numeric:tabular-nums}.picker-result-unit{color:#64748b;font-size:9px;line-height:1.3}.picker-result-meta{margin-top:4px;color:#64748b;font-size:9px;line-height:1.45}
    .picker-result-stock{text-align:right;color:#1d4ed8;font-size:9px;font-weight:1000;white-space:nowrap}
    .picker-empty{padding:24px 15px;border:1px dashed #cbd5e1;border-radius:14px;background:#f8fafc;color:#64748b;text-align:center;font-size:11px;line-height:1.55}
    .picker-selected-panel{margin-top:12px;padding:13px;border:1px solid #bfdbfe;border-radius:15px;background:#eff6ff}
    .picker-selected-panel.hidden{display:none}.picker-selected-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.picker-selected-head strong{font-size:12px}.picker-selected-head span{display:block;margin-top:4px;color:#64748b;font-size:9px}
    .picker-quantity-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.picker-quantity-label{font-size:10px;font-weight:1000;color:#475569}
    .picker-quantity{display:flex;align-items:center;gap:8px}.picker-quantity button{width:38px;height:38px;border:0;border-radius:11px;background:#fff;color:#1d4ed8;font-size:18px;font-weight:1000}.picker-quantity input{width:62px;height:38px;border:1px solid #bfdbfe;border-radius:11px;background:#fff;text-align:center;font-weight:1000}
    .rx-pd-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}
    .or-parameter-card{margin-top:13px;padding:14px;border:1px solid #dbe5f1;border-radius:16px;background:#fbfdff}
    .or-parameter-title{margin:0 0 11px;padding-bottom:9px;border-bottom:1px dashed #cbd5e1;font-size:12px;font-weight:1000;letter-spacing:.04em}
    .or-parameter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
    .or-parameter-grid .full{grid-column:1/-1}.or-parameter-grid textarea{min-height:86px;padding:11px 13px;resize:vertical}

    @media(max-width:1050px){
      .grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
      .quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    }

    @media(max-width:780px){
      body.drawer-open{overflow:hidden}
      .sidebar{
        width:min(86vw,330px);
        transform:translateX(-110%);
        border-radius:0 24px 24px 0;
      }

      .sidebar.open{transform:translateX(0)}
      .drawer-close{display:block}
      .overlay.show{display:block}
      .main{width:100%;margin-left:0}
      .menu-btn{display:grid;place-items:center}
      .topbar{
        min-height:64px;
        padding:8px 10px;
      }

      .page-title{max-width:36vw;font-size:16px}
      .page-subtitle{display:none}
      .user-chip{max-width:120px;padding:7px 8px}
      .user-name{font-size:10px}
      .logout-top{width:42px;height:42px}
      .content{
        max-width:620px;
        padding:13px 11px 28px;
      }

      .hero{
        min-height:205px;
        padding:21px 18px;
        border-radius:20px;
      }

      .hero h2{font-size:28px}
      .hero p{font-size:13px}
      .grid-4,.grid-2{grid-template-columns:1fr}
      .summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
      .summary-card{min-height:126px;padding:15px}
      .summary-value{font-size:19px}
      .quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
      .quick-btn{min-height:96px}
      .page-head{margin-top:3px}
      .page-head h2{font-size:22px}
      .toast-wrap{top:72px;left:10px;right:10px}
      .toast{min-width:0;max-width:none;width:100%}
      .customer-page-head{
        align-items:flex-start;
      }

      .customer-search-row{
        grid-template-columns:minmax(0,1fr) auto;
      }

      .customer-search-row .secondary-btn{
        grid-column:1/-1;
      }

      .customer-list{
        grid-template-columns:1fr;
      }

      .customer-card{
        padding:14px;
      }

      #inventoryList.customer-list{gap:9px}
      .inventory-card-compact{padding:11px 12px}
      .inventory-compact-avatar{width:37px;height:37px}
      .inventory-compact-name{font-size:13px}
      .inventory-compact-footer{align-items:flex-end}
      .inventory-compact-stock{font-size:8px;padding:5px 7px}

      .cashier-layout{grid-template-columns:1fr}
      .cashier-summary{position:static}
      .cashier-grid,.cashier-grid.three{grid-template-columns:1fr}
      .cashier-search{grid-template-columns:minmax(0,1fr) auto}
      .cashier-customer-result-card{align-items:flex-start}
      .cashier-result-address{flex-basis:100%;white-space:normal}
      .rx-eye-cards{grid-template-columns:1fr}
      .rx-eye-card{padding:12px}
      .mobile-cashier-bar{position:fixed;z-index:95;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px max(12px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));border-top:1px solid #dbe5f1;background:rgba(255,255,255,.96);box-shadow:0 -12px 28px rgba(15,23,42,.14);backdrop-filter:blur(12px)}
      .mobile-cashier-total{display:grid;gap:2px;min-width:0}.mobile-cashier-total span{font-size:8px;font-weight:1000;color:#64748b}.mobile-cashier-total strong{font-size:17px;color:#1d4ed8;white-space:nowrap}.mobile-cashier-total small{font-size:8px;color:#64748b;white-space:nowrap}
      .mobile-cashier-save{min-width:132px;min-height:48px;border:0;border-radius:14px;background:#2563eb;color:#fff;font-weight:1000;box-shadow:0 9px 20px rgba(37,99,235,.24)}.mobile-cashier-save:disabled{opacity:.55;box-shadow:none}
      #page-cashier{padding-bottom:86px}
      .receipt-action-grid{grid-template-columns:1fr}
      .transaction-toolbar{grid-template-columns:1fr 1fr;padding:14px}
      .transaction-toolbar input{grid-column:1/-1}
      .transaction-toolbar button{grid-column:1/-1}
      .transaction-money{grid-template-columns:repeat(3,minmax(0,1fr))}

      .inventory-form-grid{
        grid-template-columns:1fr;
      }

      .inventory-stock-row{
        grid-template-columns:repeat(3,minmax(0,1fr));
      }

      .modal{
        align-items:flex-end;
        padding:0;
      }

      .modal-card{
        width:100%;
        max-height:92dvh;
        border-radius:22px 22px 0 0;
      }

      .modal-actions{
        position:sticky;
        bottom:0;
      }

      .modal-actions .primary-btn,
      .modal-actions .secondary-btn,
      .modal-actions .danger-btn{
        flex:1;
      }

      .detail-grid,.rx-grid{
        grid-template-columns:1fr;
      }
    }

    @media(max-width:390px){
      .summary-grid{gap:9px}
      .summary-card{padding:13px}
      .summary-value{font-size:17px}
      .quick-grid{gap:8px}
      .quick-btn{font-size:12px}
      .page-title{max-width:31vw}
    }

    .active-branch-badge{padding:7px 10px;border-radius:11px;background:#e0ecff;color:#1d4ed8;font-size:9px;font-weight:1000;white-space:nowrap}
    .branch-lock-card{display:flex;align-items:center;justify-content:space-between;gap:14px;background:linear-gradient(135deg,#eef5ff,#fff)}
    .branch-lock-card>div:first-child{display:grid;gap:3px}.branch-lock-card span{font-size:9px;font-weight:950;color:#64748b;letter-spacing:.5px}.branch-lock-card strong{font-size:16px;color:#1d4ed8}
    .optical-item-card{display:grid;gap:12px}.optical-slot{padding:13px;border:1px solid #e2e8f0;border-radius:15px;background:#fbfdff}.optical-slot-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.optical-slot-head>div{display:grid;gap:2px}.optical-slot-head b{font-size:13px}.optical-slot-head span{font-size:9px;color:#64748b}.mini-action{min-height:36px;padding:0 10px;font-size:9px}
    .optical-selected{margin-top:9px;padding:11px;border-radius:12px;background:#f1f5f9;color:#475569;font-size:10px}.optical-selected.active{background:#ecfdf5;color:#065f46}.optical-selected-row{display:flex;justify-content:space-between;gap:10px;align-items:center}.optical-selected-row b{display:block;color:#0f172a}.optical-selected-row small{display:block;margin-top:3px}.same-lens-box{display:flex;gap:10px;padding:12px;border:1px solid #c7d7fe;border-radius:14px;background:#eef4ff}.same-lens-box input{width:19px;height:19px}.same-lens-box span{display:grid;gap:2px}.same-lens-box b{font-size:11px}.same-lens-box small{font-size:9px;color:#64748b;line-height:1.4}
    .payment-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:13px 0 8px;font-size:9px;color:#475569}.payment-rows{display:grid;gap:10px}.compact-modal{max-width:620px}.rx-table-select select{min-width:90px;border:1px solid #d5deea;border-radius:9px;background:#fff;padding:7px}
    @media(max-width:780px){.active-branch-badge{display:none}.branch-lock-card{align-items:flex-start;flex-direction:column}.branch-lock-card .cashier-field{width:100%}.payment-grid{grid-template-columns:1fr}.payment-field.full{grid-column:auto}.discount-grid{grid-template-columns:1fr 1fr}.picker-results{max-height:38dvh}.or-parameter-grid{grid-template-columns:1fr 1fr}.transaction-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}
    @media(max-width:390px){.optical-action-row{grid-template-columns:1fr 1fr}.optical-action-btn{padding:0 8px;font-size:10px}.rx-pd-row,.or-parameter-grid{grid-template-columns:1fr 1fr}}

    .intake-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);gap:14px;align-items:start}
    .intake-card{padding:15px}.intake-card h3{margin:0;font-size:15px}.intake-card p{margin:5px 0 0;color:#64748b;font-size:10px;line-height:1.45}
    .intake-branch{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 14px;margin-bottom:14px;border:1px solid #bfdbfe;border-radius:14px;background:#eff6ff}.intake-branch span{font-size:9px;font-weight:1000;color:#1d4ed8}.intake-branch strong{font-size:12px;color:#0f172a}
    .intake-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:13px}.intake-field{display:grid;gap:5px}.intake-field.full{grid-column:1/-1}.intake-field label{font-size:9px;font-weight:1000;color:#64748b}.intake-field input,.intake-field select,.intake-field textarea{width:100%;min-height:44px;padding:0 11px;border:1px solid #cbd5e1;border-radius:11px;background:#fff;color:#0f172a;outline:none}.intake-field textarea{min-height:78px;padding-top:10px;resize:vertical}.intake-field input:focus,.intake-field select:focus,.intake-field textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.1)}
    .intake-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:12px}.intake-draft-list,.intake-request-list{display:grid;gap:9px;margin-top:12px}.intake-empty{padding:22px 14px;border:1px dashed #cbd5e1;border-radius:13px;text-align:center;color:#64748b;font-size:10px}
    .intake-item{padding:12px;border:1px solid #dbe5f1;border-radius:13px;background:#fff}.intake-item-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.intake-item-name{font-size:11px;font-weight:1000;color:#0f172a}.intake-item-meta{margin-top:4px;color:#64748b;font-size:9px;line-height:1.45}.intake-item-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.intake-item-actions button{min-height:34px;padding:0 10px;border:1px solid #cbd5e1;border-radius:9px;background:#f8fafc;color:#334155;font-size:8px;font-weight:1000}.intake-item-actions button.primary{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}.intake-item-actions button.danger{border-color:#fecaca;background:#fef2f2;color:#b91c1c}
    .request-status{display:inline-flex;align-items:center;min-height:25px;padding:0 8px;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:8px;font-weight:1000;white-space:nowrap}.request-status.approved{background:#ecfdf5;color:#047857}.request-status.revision{background:#fffbeb;color:#b45309}.request-status.rejected{background:#fef2f2;color:#b91c1c}
    .intake-section-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.intake-count{min-width:27px;height:27px;display:grid;place-items:center;border-radius:999px;background:#e2e8f0;color:#334155;font-size:9px;font-weight:1000}
    .review-duplicate{margin-top:10px;padding:11px;border-radius:12px;background:#f1f5f9;color:#475569;font-size:9px;line-height:1.45}.review-duplicate.match{background:#fffbeb;color:#92400e}.review-button-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%}.review-button-grid button{min-height:44px}
    .lens-config-panel{grid-column:1/-1;padding:12px;border:1px solid #bfdbfe;border-radius:14px;background:#eff6ff}.lens-config-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.lens-config-grid .full{grid-column:1/-1}.lens-helper{margin-top:8px;color:#475569;font-size:9px;line-height:1.45}.generated-product-preview{grid-column:1/-1;padding:11px 12px;border:1px dashed #93c5fd;border-radius:12px;background:#f8fbff}.generated-product-preview span{display:block;color:#64748b;font-size:8px;font-weight:900}.generated-product-preview strong{display:block;margin-top:4px;color:#1d4ed8;font-size:11px;line-height:1.45;overflow-wrap:anywhere}.readonly-input{background:#f1f5f9!important;color:#334155!important;font-weight:900}.draft-sync-status{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:5px 9px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:8px;font-weight:1000}.draft-sync-status.syncing{background:#fffbeb;color:#92400e}.draft-sync-status.saved{background:#ecfdf5;color:#047857}.draft-sync-status.offline,.draft-sync-status.error{background:#fef2f2;color:#b91c1c}.track-stock-note{grid-column:1/-1;padding:10px 11px;border-radius:11px;background:#fff;color:#475569;font-size:9px;line-height:1.45}
    @media(max-width:780px){.intake-layout{grid-template-columns:1fr}.intake-form-grid{grid-template-columns:1fr}.intake-field.full{grid-column:auto}.intake-actions>*{flex:1}.review-button-grid{grid-template-columns:1fr}.lens-config-grid{grid-template-columns:1fr}.lens-config-grid .full{grid-column:auto}.lens-config-panel,.generated-product-preview,.track-stock-note{grid-column:auto}}

/* V4.2.6B — Upload Massal Excel/CSV */
.bulk-import-card{margin:14px 0}.bulk-import-toolbar{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-top:12px}.bulk-import-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.bulk-import-picker{display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.bulk-import-status{margin-top:12px;padding:10px 12px;border:1px solid #cbd5e1;border-radius:12px;background:#f8fafc;color:#475569;font-size:10px;font-weight:800;line-height:1.5}.bulk-import-status.loading,.bulk-import-status.warning{border-color:#fde68a;background:#fffbeb;color:#92400e}.bulk-import-status.success{border-color:#bbf7d0;background:#f0fdf4;color:#166534}.bulk-import-status.error{border-color:#fecaca;background:#fef2f2;color:#991b1b}.bulk-import-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:12px}.bulk-import-summary>div{padding:10px;border:1px solid #dbeafe;border-radius:12px;background:#eff6ff;text-align:center}.bulk-import-summary span{display:block;color:#64748b;font-size:8px;font-weight:1000;text-transform:uppercase}.bulk-import-summary strong{display:block;margin-top:3px;color:#1e3a8a;font-size:18px}.bulk-import-summary .valid{border-color:#bbf7d0;background:#f0fdf4}.bulk-import-summary .valid strong{color:#166534}.bulk-import-summary .ready{border-color:#bfdbfe;background:#eff6ff}.bulk-import-summary .ready strong{color:#1d4ed8}.bulk-import-summary .waiting{border-color:#c4b5fd;background:#f5f3ff}.bulk-import-summary .waiting strong{color:#6d28d9}.bulk-import-summary .warning{border-color:#fde68a;background:#fffbeb}.bulk-import-summary .warning strong{color:#92400e}.bulk-import-summary .error{border-color:#fecaca;background:#fef2f2}.bulk-import-summary .error strong{color:#991b1b}.bulk-import-global-warning{margin-top:10px;padding:10px 12px;border-radius:11px;background:#fffbeb;color:#92400e;font-size:9px;font-weight:800;line-height:1.45}.bulk-import-preview{display:grid;gap:9px;margin-top:12px;max-height:560px;overflow:auto;padding-right:2px}.bulk-import-row{border:1px solid #cbd5e1;border-radius:13px;background:#fff;padding:11px}.bulk-import-row.valid{border-color:#86efac;background:#f8fff9}.bulk-import-row.warning{border-color:#fcd34d;background:#fffdf5}.bulk-import-row.waiting{border-color:#c4b5fd;background:#faf8ff}.bulk-import-row.error{border-color:#fca5a5;background:#fff8f8}.bulk-import-row-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.bulk-import-row-source{color:#64748b;font-size:8px;font-weight:1000;text-transform:uppercase}.bulk-import-row-name{margin-top:3px;color:#0f172a;font-size:11px;font-weight:1000;line-height:1.35}.bulk-import-row-meta{margin-top:5px;color:#475569;font-size:9px;line-height:1.5;overflow-wrap:anywhere}.bulk-import-badge{flex:0 0 auto;padding:5px 8px;border-radius:999px;font-size:8px;font-weight:1000}.bulk-import-row.valid .bulk-import-badge{background:#dcfce7;color:#166534}.bulk-import-row.warning .bulk-import-badge{background:#fef3c7;color:#92400e}.bulk-import-row.waiting .bulk-import-badge{background:#ede9fe;color:#6d28d9}.bulk-import-row.error .bulk-import-badge{background:#fee2e2;color:#991b1b}.bulk-import-issues{display:grid;gap:5px;margin-top:8px}.bulk-import-issue{padding:7px 9px;border-radius:9px;font-size:8px;font-weight:800;line-height:1.45}.bulk-import-issue.error{background:#fee2e2;color:#991b1b}.bulk-import-issue.warning{background:#fef3c7;color:#92400e}.bulk-import-match{margin-top:7px;padding:8px;border:1px dashed #93c5fd;border-radius:9px;background:#eff6ff;color:#1e40af;font-size:8px;line-height:1.45}.bulk-import-match strong{display:block;margin-bottom:2px}.bulk-import-actions-note{margin-top:8px;color:#64748b;font-size:8px;line-height:1.4}
@media(max-width:700px){.bulk-import-toolbar>*{flex:1 1 calc(50% - 6px);min-height:40px}.bulk-import-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.bulk-import-preview{max-height:480px}.bulk-import-row-head{align-items:flex-start}}


/* V4.2.6B2 — Bulk Approval Owner */
.bulk-approval-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding:12px;border:1px solid #bfdbfe;border-radius:13px;background:#eff6ff}.bulk-approval-toolbar>div{display:grid;gap:3px}.bulk-approval-toolbar strong{font-size:11px;color:#1e3a8a}.bulk-approval-toolbar span{font-size:9px;color:#475569;line-height:1.45}.bulk-approval-toolbar button{flex:0 0 auto;min-height:42px}.bulk-approval-result{margin-top:10px;padding:11px 12px;border:1px solid #cbd5e1;border-radius:12px;background:#f8fafc;color:#334155;font-size:9px;line-height:1.5}.bulk-approval-result.success{border-color:#86efac;background:#f0fdf4;color:#166534}.bulk-approval-result.warning{border-color:#fde68a;background:#fffbeb;color:#92400e}.bulk-approval-result strong{display:block;margin-bottom:4px;font-size:10px}.bulk-approval-result ul{margin:6px 0 0;padding-left:17px}.bulk-approval-result li{margin:3px 0;overflow-wrap:anywhere}@media(max-width:700px){.bulk-approval-toolbar{align-items:stretch;flex-direction:column}.bulk-approval-toolbar button{width:100%}}

/* V4.2.6B4 — Inventory Search + Compact Cards Hotfix */

/* V4.2.7A — Dashboard Target & Penerimaan */
.performance-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:16px;padding:22px;border-radius:22px;background:linear-gradient(135deg,#0f172a,#1e3a8a);color:#fff;box-shadow:var(--shadow)}
.performance-hero-main{display:flex;flex-direction:column;justify-content:center;min-width:0}.performance-hero h2{margin:7px 0 5px;font-size:27px}.performance-hero p{margin:0;color:#cbd5e1;font-size:12px;line-height:1.55}.performance-hero .hero-kicker{color:#93c5fd;font-size:9px;font-weight:1000;letter-spacing:.8px}.performance-hero .hero-pill{border-color:rgba(255,255,255,.17);background:rgba(255,255,255,.09);color:#e2e8f0}
.performance-progress-card{display:flex;flex-direction:column;justify-content:center;padding:18px;border:1px solid rgba(255,255,255,.13);border-radius:18px;background:rgba(255,255,255,.09);backdrop-filter:blur(8px)}.performance-progress-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.performance-progress-head span{font-size:9px;font-weight:1000;color:#bfdbfe}.performance-progress-head strong{font-size:20px}.performance-progress-track,.branch-progress-track{height:10px;margin-top:12px;overflow:hidden;border-radius:999px;background:#dbeafe}.performance-progress-track span,.branch-progress-track span{display:block;width:0;height:100%;border-radius:inherit;background:#2563eb;transition:width .35s ease}.performance-hero .performance-progress-track{background:rgba(255,255,255,.18)}.performance-hero .performance-progress-track span{background:#60a5fa}.performance-progress-track span.over-target{background:#10b981}.performance-progress-note{margin-top:9px;color:#dbeafe;font-size:10px;line-height:1.4}
.notice.warning{border:1px solid #fde68a;background:#fffbeb;color:#92400e}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}.metric-card{min-width:0;padding:16px;border:1px solid #e2e8f0;border-radius:17px;background:#fff;box-shadow:0 7px 20px rgba(15,23,42,.05)}.metric-card.accent{border-color:#bfdbfe;background:linear-gradient(145deg,#eff6ff,#fff)}.metric-label{display:block;color:#64748b;font-size:8px;font-weight:1000;letter-spacing:.45px}.metric-value{display:block;margin-top:8px;color:#0f172a;font-size:19px;line-height:1.15;overflow-wrap:anywhere}.metric-card.accent .metric-value{color:#1d4ed8}.metric-card small{display:block;margin-top:7px;color:#64748b;font-size:9px;line-height:1.4}.metric-delta.positive,.positive{color:#047857!important}.metric-delta.negative,.negative{color:#b91c1c!important}
.dashboard-detail-grid,.dashboard-bottom-grid{margin-top:14px}.compact-head{align-items:flex-start}.compact-head h3{font-size:15px}.link-btn{min-height:34px;border:0;border-radius:10px;padding:0 10px;background:#eff6ff;color:#1d4ed8;font-size:9px;font-weight:1000}.branch-performance-list{display:grid;gap:10px}.branch-performance-row{padding:12px;border:1px solid #e2e8f0;border-radius:14px;background:#fbfdff}.branch-performance-head,.branch-performance-foot{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.branch-performance-head>div{display:grid;gap:3px;min-width:0}.branch-performance-head strong{font-size:11px}.branch-performance-head span,.branch-performance-foot{color:#64748b;font-size:9px}.branch-performance-head b{font-size:14px;color:#1d4ed8}.branch-performance-foot{margin-top:7px;align-items:center}.branch-progress-track{height:7px;margin-top:8px;background:#e2e8f0}.receipt-highlight-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.receipt-highlight-grid>div{padding:12px;border-radius:13px;background:#f8fafc}.receipt-highlight-grid span{display:block;color:#64748b;font-size:8px;font-weight:1000}.receipt-highlight-grid strong{display:block;margin-top:5px;font-size:14px;color:#0f172a}.mini-breakdown{display:grid;gap:7px;margin-top:11px}.mini-breakdown-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:7px;border-top:1px dashed #e2e8f0;font-size:9px}.mini-breakdown-row strong{font-size:10px}.gross-note{margin:10px 0 0;color:#92400e;font-size:8px;line-height:1.45}.report-empty{padding:14px;border:1px dashed #cbd5e1;border-radius:11px;color:#64748b;text-align:center;font-size:9px}.system-mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.system-mini-grid>div{display:grid;gap:3px;padding:11px;border-radius:12px;background:#f8fafc}.system-mini-grid span{font-size:8px;font-weight:1000;color:#64748b}.system-mini-grid strong{font-size:14px}.system-mini-grid small{color:#64748b;font-size:8px;line-height:1.35}
.report-page-head{align-items:center}.report-period-actions{display:flex;align-items:center;gap:8px}.month-input{min-height:44px;width:165px}.report-layout{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);gap:14px}.target-editor-card,.report-summary-card{min-width:0}.target-form{display:grid;gap:2px}.target-branch-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.target-split-btn{justify-self:start;margin-top:7px}.target-sum-status{margin-top:9px;padding:9px 10px;border-radius:10px;background:#f1f5f9;color:#475569;font-size:9px;font-weight:800}.target-sum-status.valid{background:#ecfdf5;color:#047857}.target-sum-status.invalid{background:#fff7ed;color:#c2410c}.report-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.report-kpi-grid>div{padding:11px;border-radius:12px;background:#f8fafc}.report-kpi-grid span{display:block;color:#64748b;font-size:8px;font-weight:1000}.report-kpi-grid strong{display:block;margin-top:5px;font-size:14px;overflow-wrap:anywhere}.report-progress{margin:12px 0 14px}.report-section-card{margin-top:14px}.gross-badge{display:inline-flex;align-items:center;min-height:26px;padding:0 8px;border-radius:999px;background:#fffbeb;color:#92400e;font-size:8px;font-weight:1000}.report-split-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.report-subtitle{margin:0 0 8px;color:#475569;font-size:10px}.report-breakdown-list{display:grid;gap:8px}.report-breakdown-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px;border:1px solid #e2e8f0;border-radius:12px}.report-breakdown-row>div{display:grid;gap:3px}.report-breakdown-row strong{font-size:10px}.report-breakdown-row span{color:#64748b;font-size:8px}.report-breakdown-row b{font-size:11px;text-align:right}.report-table-wrap{overflow:auto;border:1px solid #e2e8f0;border-radius:13px}.report-table{width:100%;min-width:920px;border-collapse:collapse;background:#fff}.report-table th,.report-table td{padding:10px;border-bottom:1px solid #e2e8f0;text-align:right;font-size:9px;white-space:nowrap}.report-table th{position:sticky;top:0;background:#f8fafc;color:#475569;font-size:8px;z-index:1}.report-table th:first-child,.report-table td:first-child{text-align:left}.report-table tbody tr:last-child td{border-bottom:0}.target-history-list{display:grid;gap:8px}.target-history-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid #e2e8f0;border-radius:12px;background:#fff;text-align:left}.target-history-row:hover{border-color:#93c5fd;background:#f8fbff}.target-history-row>div{display:grid;gap:4px}.target-history-row strong{font-size:11px}.target-history-row span{color:#64748b;font-size:8px}.target-history-row b{font-size:11px;color:#1d4ed8;text-align:right}
@media(max-width:1050px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-layout{grid-template-columns:1fr}.report-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:780px){.performance-hero{grid-template-columns:1fr;padding:17px}.performance-hero h2{font-size:22px}.metric-grid{grid-template-columns:1fr 1fr;gap:9px}.metric-card{padding:13px}.metric-value{font-size:16px}.dashboard-detail-grid,.dashboard-bottom-grid{grid-template-columns:1fr}.report-page-head{align-items:stretch}.report-period-actions{width:100%}.report-period-actions .month-input{flex:1;width:auto}.report-period-actions button{flex:0 0 auto}.report-split-grid{grid-template-columns:1fr}.report-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.target-branch-grid{grid-template-columns:1fr}.receipt-highlight-grid{grid-template-columns:1fr 1fr}}
@media(max-width:390px){.metric-grid{grid-template-columns:1fr}.report-period-actions{display:grid;grid-template-columns:1fr}.report-period-actions button{width:100%}.report-kpi-grid{grid-template-columns:1fr 1fr}.receipt-highlight-grid{grid-template-columns:1fr}.system-mini-grid{grid-template-columns:1fr 1fr}.target-history-row{align-items:flex-start;flex-direction:column}.target-history-row b{text-align:left}}

/* V4.2.7B — Pengaturan Sistem */
.admin-page-head{align-items:flex-start;gap:12px}.admin-tabs{display:flex;gap:8px;overflow-x:auto;padding:2px 0 12px;scrollbar-width:none}.admin-tabs::-webkit-scrollbar{display:none}.admin-tab{flex:0 0 auto;min-height:42px;border:1px solid var(--border,#d8dee9);border-radius:12px;background:#fff;padding:9px 14px;font-weight:800;color:#475569}.admin-tab.active{background:#172554;color:#fff;border-color:#172554}.admin-panel{display:none}.admin-panel.active{display:block}.admin-two-column{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:14px}.admin-editor-grid{margin-top:14px;align-items:start}.admin-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-form-grid>div,.admin-form-grid>label{min-width:0}.admin-form-grid label:not(.admin-check),.admin-payment-row label,.admin-edit-row label{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:800;color:#475569}.admin-form-grid input,.admin-form-grid select,.admin-form-grid textarea,.admin-payment-row input,.admin-payment-row select,.admin-edit-row input,.print-block-card input{width:100%;min-height:42px;border:1px solid #cbd5e1;border-radius:10px;padding:9px 10px;background:#fff;color:#0f172a;font:inherit}.admin-form-grid textarea{min-height:84px;resize:vertical}.admin-field-wide{grid-column:1/-1}.admin-rx-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.admin-check{display:inline-flex!important;align-items:center;gap:8px;font-size:13px;font-weight:700;color:#334155}.admin-check input{width:18px!important;min-height:18px!important;height:18px}.admin-check-row{display:flex;flex-wrap:wrap;gap:14px;padding:10px;border:1px solid #e2e8f0;border-radius:10px}.admin-action-row{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin-top:14px}.admin-muted{margin-top:9px;font-size:11px;color:#64748b}.admin-filter-row{grid-template-columns:minmax(180px,1fr) auto auto}.admin-card-list{display:grid;gap:10px;margin-top:14px}.admin-list-card{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #e2e8f0;border-radius:13px;padding:13px;background:#fff}.admin-list-title{font-weight:900;color:#0f172a;overflow-wrap:anywhere}.admin-list-meta{font-size:11px;color:#64748b;margin-top:3px;overflow-wrap:anywhere}.admin-badge-row{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.transaction-badge.red{background:#fee2e2;color:#991b1b}.danger-outline{border-color:#fecaca!important;color:#991b1b!important}.danger-btn{background:#991b1b!important;color:#fff!important;border-color:#991b1b!important}.danger-zone{margin-top:20px;border:1px solid #fecaca;background:#fff7f7;border-radius:13px;padding:14px}.danger-zone h4{margin:0 0 5px;color:#991b1b}.danger-zone p{margin:0;color:#7f1d1d;font-size:12px;line-height:1.45}.admin-subtitle{margin:18px 0 9px;color:#334155}.admin-edit-list{display:grid;gap:9px}.admin-edit-row{display:grid;grid-template-columns:minmax(170px,1fr) minmax(120px,1fr) 95px 130px;gap:8px;align-items:end;border:1px solid #e2e8f0;border-radius:12px;padding:10px}.admin-edit-main{display:flex;flex-direction:column;gap:3px;min-width:0}.admin-edit-main strong{overflow-wrap:anywhere}.admin-edit-main span{font-size:10px;color:#64748b;overflow-wrap:anywhere}.admin-payment-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border:1px solid #e2e8f0;border-radius:12px;padding:10px}.admin-payment-head{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between}.admin-payment-head button{width:32px;height:32px;border:0;border-radius:8px;background:#fee2e2;color:#991b1b;font-weight:900}.inline-action{display:flex;gap:8px}.inline-action input{flex:1}.print-block-list{display:grid;gap:10px;margin-top:14px}.print-block-card{border:1px solid #dbe4ef;border-radius:13px;padding:10px;background:#f8fafc}.print-block-head,.print-field-row{display:grid;grid-template-columns:auto auto minmax(130px,1fr);gap:8px;align-items:center}.print-field-row{margin:8px 0 0 34px;padding-top:8px;border-top:1px dashed #cbd5e1}.print-order-buttons{display:flex;gap:4px}.print-order-buttons button{width:30px;height:30px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;font-weight:900}.audit-card{align-items:flex-start}.audit-reason{margin-top:7px;padding:7px 9px;border-radius:8px;background:#f1f5f9;font-size:12px;color:#334155}.gross-note+.admin-tabs{margin-top:12px}

@media(max-width:980px){.admin-two-column{grid-template-columns:1fr}.admin-rx-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-edit-row{grid-template-columns:1fr 1fr}.admin-edit-main{grid-column:1/-1}.admin-filter-row{grid-template-columns:1fr 1fr}.admin-filter-row input{grid-column:1/-1}}
@media(max-width:600px){.admin-page-head{display:block}.admin-page-head .dev-badge{display:inline-block;margin-top:8px}.admin-form-grid,.admin-rx-grid,.admin-payment-row{grid-template-columns:1fr}.admin-field-wide{grid-column:auto}.admin-list-card{align-items:flex-start;flex-direction:column}.admin-list-card>button{width:100%}.admin-edit-row{grid-template-columns:1fr}.admin-edit-main{grid-column:auto}.print-block-head,.print-field-row{grid-template-columns:auto 1fr}.print-block-head>input,.print-field-row>input{grid-column:1/-1}.print-field-row{margin-left:0}.admin-filter-row{grid-template-columns:1fr}.admin-filter-row input{grid-column:auto}.admin-action-row>button{flex:1 1 140px}.inline-action{flex-direction:column}.admin-tabs{margin-left:-4px;margin-right:-4px}.admin-tab{min-height:40px;padding:8px 12px}}

/* V4.2.8A-HF1 — Jadwal & Absensi */
.attendance-page-head{align-items:flex-end;gap:12px}.attendance-period-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.attendance-period-actions .month-input{min-width:150px}.compact-btn{min-height:38px;padding:8px 12px}.attendance-tabs{display:flex;gap:8px;overflow-x:auto;padding:2px 0 12px;scrollbar-width:none}.attendance-tabs::-webkit-scrollbar{display:none}.attendance-tab{border:1px solid var(--line,#dfe5ee);background:#fff;border-radius:999px;padding:10px 15px;font-weight:800;white-space:nowrap;color:#536174}.attendance-tab.active{background:#17263d;color:#fff;border-color:#17263d}.attendance-panel{display:none}.attendance-panel.active{display:block}.attendance-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;margin-bottom:12px}.attendance-status-block{display:flex;align-items:center;gap:12px;min-width:0}.attendance-status-block>div{display:grid;gap:2px;min-width:0}.attendance-status-block small{color:#667085}.attendance-status{display:inline-flex;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:900;letter-spacing:.06em}.attendance-status.draft{background:#fff0cc;color:#8a5c00}.attendance-status.published{background:#dff8e8;color:#14733c}.attendance-toolbar-actions{display:flex;gap:8px;flex-wrap:wrap}.attendance-filterbar{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:12px 14px;margin-bottom:10px}.compact-field{margin:0;min-width:210px}.attendance-group-nav{display:flex;align-items:center;gap:8px}.attendance-group-nav span{min-width:88px;text-align:center;font-weight:800;color:#536174}.attendance-warning-list{display:grid;gap:6px;margin-bottom:10px}.attendance-warning,.attendance-all-good{padding:9px 12px;border-radius:10px;font-size:13px;font-weight:700}.attendance-warning{background:#fff4df;color:#8a4f00;border:1px solid #ffd89a}.attendance-warning.more{background:#f3f5f8;color:#596579;border-color:#dfe4ec}.attendance-all-good{background:#e7f8ee;color:#177444;border:1px solid #bde8ce}.attendance-roster-card{padding:0;overflow:hidden}.attendance-roster-grid{display:grid;grid-template-columns:64px repeat(var(--attendance-user-count,4),minmax(0,1fr));width:100%;min-width:0}.attendance-roster-head{position:sticky;top:0;z-index:3;background:#17263d;color:#fff;border-right:1px solid rgba(255,255,255,.16);min-height:62px;display:flex;align-items:center;justify-content:center;text-align:center;padding:7px 4px;font-weight:900}.attendance-date-col{left:0;z-index:4}.attendance-user-head{min-width:0;display:grid;align-content:center;gap:2px}.attendance-user-head span{font-size:12px;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.attendance-user-head small{font-size:8px;color:#c7d2e2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attendance-date-cell{position:sticky;left:0;z-index:2;background:#f5f7fa;border-top:1px solid #e1e6ee;border-right:1px solid #d9e0e9;min-height:47px;display:grid;place-content:center;text-align:center}.attendance-date-cell strong{font-size:14px}.attendance-date-cell small{text-transform:uppercase;font-size:9px;color:#68758a}.attendance-date-cell.sunday{background:#ffe3e3;color:#a31d1d}.attendance-date-cell.today{box-shadow:inset 4px 0 #2c6bed}.attendance-roster-cell{min-width:0;min-height:47px;border:0;border-top:1px solid #e1e6ee;border-right:1px solid #e1e6ee;background:#fff;display:flex;align-items:center;justify-content:center;position:relative;font-weight:900;color:#25324a;padding:3px;cursor:pointer}.attendance-roster-cell:hover{filter:brightness(.97)}.attendance-roster-cell b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attendance-roster-cell i{position:absolute;right:4px;top:1px;font-style:normal;color:#d56600}.attendance-roster-cell.empty,.attendance-roster-head.empty{background:#f8fafc}.attendance-roster-cell.shift-empty{color:#9aa5b5;font-weight:500}.attendance-shift-chip{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;padding:5px 7px;min-width:38px;font-weight:900;font-size:12px}.shift-m1l,.shift-m2l,.shift-ml{background:#dcecff!important;color:#1659a7!important}.shift-m1p,.shift-m2p,.shift-mp{background:#dcf5e5!important;color:#13713a!important}.shift-off{background:#e8ebef!important;color:#525d6d!important}.shift-ct{background:#fff1a8!important;color:#755a00!important}.shift-izin{background:#ffe1bc!important;color:#925000!important}.shift-s{background:#ffd9df!important;color:#9b2132!important}.attendance-legend{display:flex;gap:7px;flex-wrap:wrap;padding:12px 2px}.attendance-legend-item{display:flex;align-items:center;gap:5px;background:#fff;border:1px solid #e1e6ee;border-radius:9px;padding:5px}.attendance-legend-item small{font-size:10px;color:#657186}.attendance-my-hero{padding:20px;background:linear-gradient(135deg,#17263d,#2d5792);color:#fff;display:grid;gap:5px;margin-bottom:12px}.attendance-my-hero>span{font-size:11px;font-weight:900;letter-spacing:.1em;color:#c9d8ee}.attendance-my-code{font-size:42px;line-height:1;background:transparent!important;color:#fff!important;padding:0;justify-content:flex-start}.attendance-my-hero small{color:#dce6f5}.attendance-my-list{display:grid;gap:8px}.attendance-my-row{display:grid;grid-template-columns:minmax(90px,1fr) auto minmax(110px,1fr);align-items:center;gap:10px;padding:12px}.attendance-my-row>div{display:grid;gap:2px;min-width:0}.attendance-my-row small{color:#68758a;font-size:11px}.attendance-my-row-meta{text-align:right}.attendance-today-list,.attendance-recap-list,.attendance-shift-settings-list{display:grid;gap:9px}.attendance-today-card{border:1px solid #e0e6ee;border-radius:12px;padding:12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.attendance-today-main{display:grid;gap:3px;min-width:0}.attendance-today-main span{font-size:13px;color:#48566c}.attendance-today-main small{font-size:11px;color:#79869a}.attendance-today-side{display:grid;justify-items:end;gap:8px}.attendance-status-pill{font-size:9px;font-weight:900;border-radius:999px;padding:5px 7px;background:#eef1f5;color:#4f5b6c;white-space:nowrap}.status-present{background:#dff7e7;color:#17733d}.status-absent,.status-sick{background:#ffe0e5;color:#9b2132}.status-permit,.status-leave{background:#fff0c9;color:#7b5900}.attendance-recap-card{border:1px solid #dfe5ed;border-radius:13px;padding:13px;display:grid;gap:11px}.attendance-recap-name{display:grid;gap:2px}.attendance-recap-name small{color:#68758a}.attendance-recap-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.attendance-recap-metrics span{background:#f5f7fa;border-radius:9px;padding:8px 5px;text-align:center;font-size:10px;color:#657186}.attendance-recap-metrics b{display:block;color:#1f2c42;font-size:13px;margin-bottom:2px}.attendance-recap-branches{display:flex;gap:8px;flex-wrap:wrap}.attendance-recap-branches span{font-size:11px;font-weight:800;background:#edf3ff;color:#285b9b;border-radius:999px;padding:5px 8px}.attendance-settings-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.8fr);gap:12px}.attendance-shift-setting{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid #e1e6ee;border-radius:11px;padding:10px}.attendance-shift-setting>div{display:grid;gap:2px;min-width:0}.attendance-shift-setting small{color:#68758a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attendance-staffing-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.attendance-staffing-grid>div{border:1px solid #e1e6ee;border-radius:11px;padding:10px;display:grid;gap:8px}.attendance-staffing-grid label{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px}.attendance-staffing-grid input{width:72px}.attendance-sheet-card{max-width:650px}.attendance-shift-picker{display:grid;gap:14px}.attendance-picker-group{display:grid;gap:7px}.attendance-picker-group>strong{font-size:11px;letter-spacing:.08em;color:#68758a}.attendance-picker-group>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.attendance-shift-choice{border:1px solid transparent;border-radius:11px;padding:9px 6px;display:grid;gap:2px;text-align:center;min-width:0}.attendance-shift-choice b{font-size:15px}.attendance-shift-choice span{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attendance-shift-choice small{font-size:9px}.attendance-shift-choice:disabled{opacity:.35}.attendance-note-field{display:grid;gap:5px;margin-top:14px}.attendance-user-checks{display:grid;grid-template-columns:1fr 1fr;gap:6px;max-height:210px;overflow:auto;border:1px solid #e1e6ee;border-radius:10px;padding:9px}
@media(max-width:900px){.attendance-settings-layout{grid-template-columns:1fr}.attendance-toolbar{align-items:flex-start;flex-direction:column}.attendance-toolbar-actions{width:100%}.attendance-toolbar-actions button{flex:1}.attendance-recap-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:600px){.attendance-page-head{align-items:stretch}.attendance-period-actions{display:grid;grid-template-columns:auto minmax(0,1fr) auto}.attendance-period-actions #attendanceRefreshBtn{grid-column:1/-1}.attendance-filterbar{align-items:stretch;flex-direction:column}.compact-field{min-width:0}.attendance-group-nav{justify-content:space-between}.attendance-roster-grid{grid-template-columns:52px repeat(var(--attendance-user-count,4),minmax(0,1fr))}.attendance-roster-head{min-height:58px}.attendance-user-head span{font-size:10px}.attendance-user-head small{display:none}.attendance-date-cell,.attendance-roster-cell{min-height:43px}.attendance-roster-cell b{font-size:11px}.attendance-picker-group>div{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-recap-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-my-row{grid-template-columns:88px auto minmax(90px,1fr);gap:7px}.attendance-user-checks{grid-template-columns:1fr}.attendance-today-card{align-items:flex-start}.attendance-bottom-modal{align-items:flex-end}.attendance-bottom-modal .modal-card{margin:0;border-radius:18px 18px 0 0;max-height:88vh}.attendance-staffing-grid{grid-template-columns:1fr 1fr}}

/* V4.2.8A-HF1 — attendance roster hotfix */
.attendance-month-picker{display:grid;grid-template-columns:minmax(118px,1fr) minmax(84px,.72fr);gap:7px;min-width:220px}
.attendance-month-picker select{width:100%;min-width:0;min-height:42px;border:1px solid #d9e0e9;border-radius:12px;background:#fff;padding:0 10px;color:#17263d;font-weight:800}
.attendance-scroll-hint{max-width:360px;color:#68758a;font-size:11px;line-height:1.45;text-align:right}
.attendance-roster-card{max-width:100%;overflow-x:auto;overflow-y:visible;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.attendance-roster-grid{grid-template-columns:64px repeat(var(--attendance-user-count,1),minmax(96px,112px));width:max-content;min-width:100%}
.attendance-roster-head,.attendance-roster-cell{min-width:96px}
.attendance-date-col,.attendance-date-cell{min-width:64px;box-shadow:5px 0 8px -8px rgba(15,23,42,.8)}
.attendance-date-col{position:sticky;left:0;z-index:6}
.attendance-date-cell{position:sticky;left:0;z-index:5}
.attendance-roster-empty{width:min(560px,calc(100vw - 56px));padding:28px}
.dashboard-duty-card{margin:14px 0}
.dashboard-duty-branches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.dashboard-duty-branch{border:1px solid #e1e6ee;border-radius:13px;padding:12px;display:grid;gap:9px;background:#fff}
.dashboard-duty-branch-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.dashboard-duty-branch-head strong{font-size:13px}.dashboard-duty-branch-head span{font-size:10px;color:#68758a}
.dashboard-duty-list{display:grid;gap:7px}.dashboard-duty-person{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 9px;background:#f6f8fb;border-radius:10px}
.dashboard-duty-person>div{display:grid;gap:2px;min-width:0}.dashboard-duty-person strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-duty-person small{font-size:10px;color:#68758a}
.dashboard-duty-person b{font-size:10px;border-radius:999px;padding:5px 7px;white-space:nowrap;background:#e8eef8;color:#274d80}.dashboard-duty-person b.present{background:#dff7e7;color:#17733d}
.dashboard-duty-empty{font-size:11px;color:#68758a;padding:8px 0}
@media(max-width:600px){
  .attendance-period-actions{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;width:100%;gap:7px}
  .attendance-period-actions #attendanceRefreshBtn{grid-column:1/-1;width:100%}
  .attendance-month-picker{min-width:0;grid-template-columns:minmax(0,1.25fr) minmax(76px,.75fr)}
  .attendance-filterbar{align-items:stretch;flex-direction:column}.attendance-scroll-hint{text-align:left;max-width:none}
  .attendance-roster-grid{grid-template-columns:54px repeat(var(--attendance-user-count,1),96px)}
  .attendance-date-col,.attendance-date-cell{min-width:54px}.attendance-roster-head,.attendance-roster-cell{min-width:96px}
  .dashboard-duty-branches{grid-template-columns:1fr}
}

/* V4.2.8A-HF2 — mobile period picker, exact frozen date column, sticky employee header, distinct shift colors */
.attendance-roster-card{
  position:relative;
  max-height:min(72dvh,760px);
  overflow:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  -webkit-overflow-scrolling:touch;
}
.attendance-roster-grid{
  --attendance-date-width:58px;
  grid-template-columns:var(--attendance-date-width) repeat(var(--attendance-user-count,1),minmax(96px,112px));
}
.attendance-date-col,.attendance-date-cell{
  box-sizing:border-box;
  width:var(--attendance-date-width);
  min-width:var(--attendance-date-width);
  max-width:var(--attendance-date-width);
}
.attendance-roster-head{
  position:sticky;
  top:0;
  z-index:8;
}
.attendance-date-col{
  top:0;
  left:0;
  z-index:12;
}
.attendance-date-cell{
  left:0;
  z-index:7;
}
/* Laguna: pagi biru muda, siang ungu, full shift biru tegas. */
.shift-m1l{background:#dcecff!important;color:#1659a7!important}
.shift-m2l{background:#eadfff!important;color:#6840a5!important}
.shift-ml{background:#aecbff!important;color:#123f7a!important;box-shadow:inset 0 0 0 1px rgba(18,63,122,.14)}
/* Permata: pagi hijau muda, siang teal, full shift hijau tegas. */
.shift-m1p{background:#dcf5e5!important;color:#13713a!important}
.shift-m2p{background:#d8f3f0!important;color:#0f6f69!important}
.shift-mp{background:#b8e7c8!important;color:#075f2f!important;box-shadow:inset 0 0 0 1px rgba(7,95,47,.14)}

@media(max-width:760px){
  .attendance-page-head{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    align-items:stretch;
    gap:12px;
  }
  .attendance-period-actions{
    display:grid;
    grid-template-columns:42px minmax(0,1fr) 42px;
    width:100%;
    min-width:0;
    gap:7px;
  }
  .attendance-month-picker{
    display:grid;
    grid-template-columns:minmax(0,1fr) 92px;
    width:100%;
    min-width:0;
    gap:7px;
  }
  .attendance-month-picker select{
    display:block;
    width:100%;
    min-width:0;
    max-width:100%;
    padding-left:10px;
    padding-right:28px;
  }
  .attendance-period-actions #attendanceRefreshBtn{
    grid-column:1/-1;
    width:100%;
  }
  .attendance-roster-card{
    max-height:70dvh;
  }
  .attendance-roster-grid{
    --attendance-date-width:52px;
    grid-template-columns:var(--attendance-date-width) repeat(var(--attendance-user-count,1),96px);
  }
  .attendance-date-col,.attendance-date-cell{
    width:var(--attendance-date-width);
    min-width:var(--attendance-date-width);
    max-width:var(--attendance-date-width);
  }
  .attendance-date-col{padding-left:2px;padding-right:2px}
}

/* V4.2.9A — Clean cashier workflow, category discounts, one-field cash, post-transaction O.R */
.cashier-card{border-radius:20px}
.optical-item-card{gap:14px}
.optical-slot{padding:14px;background:#fff;border-color:#dfe6ef;box-shadow:0 5px 16px rgba(15,23,42,.025)}
.lens-pair-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.lens-slot{height:100%}
.optical-action-btn{min-height:45px;border-radius:13px;font-size:12px}
.optical-action-btn:disabled{cursor:not-allowed;opacity:.48;background:#f4f6f8;color:#8792a2;border-color:#e1e6ed}
.optical-selected{min-height:74px;padding:12px;border:1px solid transparent}
.optical-selected.active{border-color:#c7ebd7;background:#eefbf4}
.optical-selected.mirrored{background:#f3f7ff;border-color:#d6e3fb;color:#315a91}
.optical-selected-row{align-items:flex-start}
.selected-item-main{display:grid;gap:4px;min-width:0}
.selected-item-head{display:flex;align-items:flex-start;gap:7px;flex-wrap:wrap}
.selected-item-head b{font-size:13px;line-height:1.35}
.selected-item-main small{color:#667085;font-size:9px;line-height:1.4}
.selected-item-price,.cart-price{display:block;margin-top:3px;color:#087443;font-size:18px!important;line-height:1.1;font-weight:1000}
.mirrored-badge{display:inline-flex;align-items:center;min-height:21px;padding:3px 7px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:8px;font-weight:1000}
.item-remove-btn{flex:0 0 auto;width:30px;height:30px;border:1px solid #fecaca;border-radius:9px;background:#fff7f7;color:#b42318;font-size:16px;font-weight:900;line-height:1}
.item-remove-btn:hover{background:#fee2e2}
.cart-item{align-items:flex-start;padding:13px}
.cart-item-actions{display:grid;justify-items:end;gap:8px}
.cart-remove{width:auto;min-width:0;padding:0 9px}
.category-discount{display:grid;grid-template-columns:auto minmax(145px,220px);align-items:center;justify-content:space-between;gap:10px;margin-top:11px;padding-top:11px;border-top:1px dashed #dbe3ec}
.category-discount span{color:#475467;font-size:10px;font-weight:1000}
.category-discount input{width:100%;min-height:40px;padding:0 11px;border:1px solid #ccd6e2;border-radius:11px;background:#fbfcfe;text-align:right;color:#0f172a;outline:none}
.category-discount input:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.09);background:#fff}
.cashier-note-field{margin-top:2px;padding-top:13px;border-top:1px solid #edf0f4}
.same-lens-box{align-items:flex-start;padding:11px 12px;background:#f3f7ff}
.same-lens-box input{flex:0 0 auto;margin-top:1px}
.payment-card{padding:13px;background:#fff;border-color:#dfe6ef}
.payment-field input::placeholder,.category-discount input::placeholder{color:#98a2b3}
.cash-payment-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.cash-payment-summary span{display:grid;gap:3px;padding:9px 10px;border-radius:11px;background:#f4f7fb;color:#667085;font-size:9px;font-weight:800}
.cash-payment-summary strong{color:#1d2939;font-size:12px}
.cash-payment-summary span:last-child{background:#eefbf4;color:#087443}
.cash-payment-summary span:last-child strong{color:#087443}
.transaction-card.or-pending{border-color:#f4d58a;background:linear-gradient(180deg,#fffdf8,#fff)}
.transaction-quick-actions{grid-template-columns:repeat(auto-fit,minmax(88px,1fr))}
.transaction-quick-actions button.attention{border-color:#f2cf77;background:#fff8df;color:#8a5a00}
.transaction-badges{flex-wrap:wrap;justify-content:flex-end}
.transaction-or-card{max-width:760px}
.or-workflow-note{display:flex;align-items:flex-start;gap:10px;margin-bottom:12px;padding:11px 12px;border:1px solid #dbe7f7;border-radius:13px;background:#f7faff}
.or-workflow-note p{margin:2px 0 0;color:#5f6c80;font-size:10px;line-height:1.45}

@media(max-width:780px){
  .cashier-card{padding:15px;border-radius:18px}
  .cashier-stack{gap:11px}
  .lens-pair-grid{grid-template-columns:1fr}
  .category-discount{grid-template-columns:minmax(0,1fr) minmax(130px,46%)}
  .selected-item-price,.cart-price{font-size:17px!important}
  .cash-payment-summary{grid-template-columns:1fr 1fr}
  .transaction-toolbar{grid-template-columns:1fr 1fr}
  .transaction-toolbar input,.transaction-toolbar button{grid-column:1/-1}
  .transaction-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:390px){
  .category-discount{grid-template-columns:1fr}
  .category-discount input{text-align:left}
  .cash-payment-summary{grid-template-columns:1fr}
}

/* V4.2.9A-HF1 — pastikan isi modal O.R dapat discroll di Chrome Android. */
#transactionOrForm{
  display:flex;
  flex:1 1 auto;
  min-height:0;
  flex-direction:column;
}
#transactionOrForm > .modal-body{
  flex:1 1 auto;
  min-height:0;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y;
}
.transaction-or-card > .modal-head,
#transactionOrForm > .modal-actions{
  flex:0 0 auto;
}

/* V4.2.10A — report ringkas, detail customer clean, hapus nota sederhana, warna absensi tegas. */
.money-input-shell{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;border:1px solid #cfd8e4;border-radius:14px;background:#fff;overflow:hidden;min-height:50px;transition:border-color .16s,box-shadow .16s}
.money-input-shell:focus-within{border-color:#2c6bed;box-shadow:0 0 0 3px rgba(44,107,237,.1)}
.money-input-shell>span{align-self:stretch;display:grid;place-items:center;padding:0 0 0 14px;color:#37506f;font-size:13px;font-weight:900}
.money-input-shell .money-target-input{border:0!important;border-radius:0!important;box-shadow:none!important;min-width:0;min-height:50px;padding-left:7px;font-size:18px;font-weight:900;color:#17263d;background:transparent}
.daily-report-card{overflow:hidden}
.daily-report-head{align-items:flex-start;gap:12px}
.daily-report-head .compact-btn{flex:0 0 auto}
.daily-report-summary{margin:0 0 10px;padding:10px 12px;border:1px solid #dce7f5;border-radius:12px;background:#f6f9fe;color:#4b607d;font-size:11px;font-weight:800;line-height:1.45}
.report-daily-list{display:grid;gap:8px}
.report-daily-row{display:grid;grid-template-columns:minmax(72px,.72fr) minmax(100px,1fr) minmax(115px,1.12fr);align-items:center;gap:10px;padding:12px;border:1px solid #e0e6ee;border-radius:14px;background:#fff;box-shadow:0 4px 13px rgba(15,23,42,.025)}
.report-daily-date,.report-daily-main,.report-daily-target{display:grid;gap:3px;min-width:0}
.report-daily-date strong{font-size:13px;color:#1f2c42}.report-daily-date span,.report-daily-main span,.report-daily-target span{font-size:9px;color:#748197}
.report-daily-main strong{font-size:14px;color:#17263d;white-space:nowrap}
.report-daily-target{justify-items:end;text-align:right}.report-daily-target strong{font-size:12px;color:#344054;white-space:nowrap}.report-daily-target b{font-size:10px}
.report-daily-meta{grid-column:1/-1;display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding-top:8px;border-top:1px dashed #e2e8f0}
.report-daily-meta span{padding:4px 7px;border-radius:999px;background:#f3f5f8;color:#5d697b;font-size:9px;font-weight:800}
.report-daily-meta span.positive{background:#e9f8ef;color:#11713c}.report-daily-meta span.negative{background:#fff0f1;color:#a72431}

.customer-detail-hero-clean{margin-bottom:12px}
.customer-contact-grid{display:grid;grid-template-columns:minmax(150px,.72fr) minmax(0,1.28fr);gap:9px;margin-bottom:10px}
.customer-contact-card{display:grid;gap:4px;padding:12px;border:1px solid #e0e6ee;border-radius:14px;background:#fff;min-width:0}
.customer-contact-card span,.customer-summary-strip span{font-size:9px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:#7a879a}
.customer-contact-card strong{font-size:13px;color:#202d43;line-height:1.45;overflow-wrap:anywhere}
.customer-summary-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:14px}
.customer-summary-strip>div{display:grid;gap:4px;padding:10px;border-radius:12px;background:#f5f8fc;min-width:0}
.customer-summary-strip strong{font-size:12px;color:#1f2d43;overflow-wrap:anywhere}
.customer-section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}
.customer-section-title h4{margin:0}.customer-section-title p{margin:3px 0 0;color:#748197;font-size:10px;line-height:1.4}
.customer-purchase-list{display:grid;gap:7px}
.customer-purchase-entry{border:1px solid #e0e6ee;border-radius:13px;background:#fff;overflow:hidden}
.customer-purchase-row{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto 22px;align-items:center;gap:9px;padding:11px 12px;border:0;background:#fff;text-align:left;color:inherit}
.customer-purchase-row>div:first-child{display:grid;gap:3px;min-width:0}.customer-purchase-row>div:first-child strong{font-size:12px;color:#1d2a40}.customer-purchase-row>div:first-child span{font-size:9px;color:#768397}
.customer-purchase-total{display:grid;justify-items:end;gap:2px}.customer-purchase-total b{font-size:12px;color:#1d4ed8;white-space:nowrap}.customer-purchase-total small{font-size:8px;color:#7b8797}
.customer-purchase-arrow{font-size:16px;color:#60708a;transition:transform .15s}.customer-purchase-row.open .customer-purchase-arrow{transform:rotate(180deg)}
.customer-purchase-detail{display:grid;gap:6px;padding:9px 12px 11px;border-top:1px dashed #dfe5ed;background:#f8fafc}
.customer-purchase-item{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;font-size:10px}.customer-purchase-item span{color:#4f5e73}.customer-purchase-item strong{color:#202d43;white-space:nowrap}.customer-purchase-empty{font-size:10px;color:#758297}
.rx-history-table{border:1px solid #dfe6ee;border-radius:13px;overflow:hidden;background:#fff}
.rx-history-head,.rx-history-row{display:grid;grid-template-columns:minmax(92px,.8fr) minmax(0,1fr) minmax(0,1fr);gap:8px;align-items:stretch}
.rx-history-head{padding:8px 10px;background:#eef3f9;color:#5f6d80;font-size:8px;font-weight:1000;text-transform:uppercase}
.rx-history-row{padding:10px;border-top:1px solid #e7ebf1}.rx-history-row:first-of-type{border-top:0}
.rx-history-note,.rx-history-eye{display:grid;align-content:start;gap:3px;min-width:0}.rx-history-note strong{font-size:10px;color:#1d2a40;overflow-wrap:anywhere}.rx-history-note span,.rx-history-note small{font-size:8px;color:#768397}
.rx-history-eye{padding-left:8px;border-left:1px dashed #dce2ea}.rx-history-eye strong{font-size:9px;color:#243149;line-height:1.35}.rx-history-eye span{font-size:8px;color:#6e7b8e;line-height:1.35}
.rx-history-legacy{grid-column:1/-1;display:grid;gap:3px;padding:7px 9px;border-radius:9px;background:#f8fafc;color:#475569}.rx-history-legacy span{font-size:7px;font-weight:1000;text-transform:uppercase;color:#64748b}.rx-history-legacy strong{font-size:9px;line-height:1.45;overflow-wrap:anywhere}

.admin-confirm-ack{display:flex!important;align-items:flex-start;gap:9px;padding:11px 12px;border:1px solid #fecaca;border-radius:12px;background:#fff5f5;color:#991b1b;font-size:11px;font-weight:800;line-height:1.4}
.admin-confirm-ack.hidden{display:none!important}.admin-confirm-ack input{flex:0 0 auto;width:18px;height:18px;margin-top:1px}
.admin-list-actions{display:flex;align-items:center;gap:7px;flex:0 0 auto}.admin-list-actions button{min-height:38px}

/* Shift lebih tegas: warna tetap membedakan pagi, siang, full, dan status khusus. */
.shift-m1l{background:linear-gradient(135deg,#dbeafe,#93c5fd)!important;color:#0c4a8a!important;border-color:#60a5fa!important}
.shift-m2l{background:linear-gradient(135deg,#ede9fe,#c4b5fd)!important;color:#5b21b6!important;border-color:#a78bfa!important}
.shift-ml{background:linear-gradient(135deg,#3b82f6,#1d4ed8)!important;color:#fff!important;border-color:#1d4ed8!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
.shift-m1p{background:linear-gradient(135deg,#dcfce7,#86efac)!important;color:#166534!important;border-color:#4ade80!important}
.shift-m2p{background:linear-gradient(135deg,#ccfbf1,#5eead4)!important;color:#115e59!important;border-color:#2dd4bf!important}
.shift-mp{background:linear-gradient(135deg,#22c55e,#15803d)!important;color:#fff!important;border-color:#15803d!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
.shift-off{background:linear-gradient(135deg,#ef4444,#b91c1c)!important;color:#fff!important;border-color:#991b1b!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.17)}
.shift-ct{background:linear-gradient(135deg,#fef08a,#facc15)!important;color:#713f12!important;border-color:#eab308!important}
.shift-izin{background:linear-gradient(135deg,#fed7aa,#fb923c)!important;color:#7c2d12!important;border-color:#f97316!important}
.shift-s{background:linear-gradient(135deg,#fda4af,#e11d48)!important;color:#fff!important;border-color:#be123c!important}
.attendance-shift-choice,.attendance-shift-chip,.attendance-roster-cell{background-clip:padding-box}

@media(max-width:700px){
  .report-layout{grid-template-columns:1fr}.target-branch-grid{grid-template-columns:1fr 1fr}.report-period-actions{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto}.report-period-actions .month-input{width:100%;min-width:0}.report-page-head{align-items:stretch}
  .daily-report-head{display:grid;grid-template-columns:1fr}.daily-report-head .compact-btn{width:100%}
  .report-daily-row{grid-template-columns:74px minmax(0,1fr) minmax(108px,1fr);gap:8px;padding:11px 10px}.report-daily-main strong{font-size:13px}.report-daily-target strong{font-size:11px}
  .customer-contact-grid{grid-template-columns:1fr}.customer-summary-strip{grid-template-columns:1fr 1fr}.customer-summary-strip>div:first-child{grid-column:1/-1}
  .admin-list-actions{width:100%}.admin-list-actions button{flex:1}
}

@media(max-width:430px){
  .target-branch-grid{grid-template-columns:1fr}.money-input-shell .money-target-input{font-size:17px}
  .report-daily-row{grid-template-columns:66px minmax(0,1fr) minmax(96px,1fr)}
  .report-daily-date strong{font-size:12px}.report-daily-main strong{font-size:12px}.report-daily-target strong{font-size:10px}.report-daily-target b{font-size:9px}
  .report-daily-meta{gap:5px}.report-daily-meta span{font-size:8px;padding:4px 6px}
  .rx-history-head,.rx-history-row{grid-template-columns:82px minmax(0,1fr) minmax(0,1fr);gap:5px}.rx-history-head{padding:7px 8px}.rx-history-row{padding:8px}.rx-history-eye{padding-left:5px}.rx-history-eye strong{font-size:8px}.rx-history-eye span{font-size:7px}
  .customer-purchase-row{grid-template-columns:minmax(0,1fr) auto 18px;padding:10px}.customer-purchase-total b{font-size:11px}
}

/* V4.2.11A — Import Data Lama Customer & Omzet */
.legacy-import-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:14px;align-items:start}.legacy-safe-badge{display:inline-flex;align-items:center;justify-content:center;padding:7px 10px;border-radius:999px;background:#dcfce7;color:#166534;font-size:9px;font-weight:1000;letter-spacing:.04em}.legacy-import-notice{margin:12px 0;padding:12px 14px;border:1px solid #bfdbfe;border-radius:13px;background:#eff6ff;color:#1e3a8a;font-size:11px;line-height:1.55}.legacy-import-controls{align-items:end}.legacy-file-picker{display:flex;width:100%;min-height:42px;cursor:pointer}.legacy-import-status{margin-top:12px;padding:11px 13px;border:1px solid #cbd5e1;border-radius:12px;background:#f8fafc;color:#475569;font-size:10px;font-weight:800;line-height:1.5}.legacy-import-status.loading{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}.legacy-import-status.success{border-color:#86efac;background:#f0fdf4;color:#166534}.legacy-import-status.error{border-color:#fecaca;background:#fef2f2;color:#991b1b}.legacy-import-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}.legacy-import-summary>div{padding:10px;border:1px solid #e2e8f0;border-radius:12px;background:#fff}.legacy-import-summary span{display:block;color:#64748b;font-size:8px;font-weight:1000;text-transform:uppercase}.legacy-import-summary strong{display:block;margin-top:4px;color:#0f172a;font-size:16px;line-height:1.2;overflow-wrap:anywhere}.legacy-monthly-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.legacy-month-card{display:grid;gap:3px;padding:11px;border:1px solid #dbeafe;border-radius:12px;background:#f8fbff}.legacy-month-card strong{font-size:12px;color:#0f172a}.legacy-month-card span,.legacy-month-card small{font-size:9px;color:#64748b}.legacy-month-card b{font-size:14px;color:#1d4ed8}.legacy-issue-list{display:grid;gap:6px;margin-top:12px}.legacy-issue{padding:9px 11px;border-radius:10px;background:#fffbeb;color:#92400e;font-size:9px;font-weight:800;line-height:1.45}.legacy-sample-list{display:grid;gap:8px;margin-top:12px;max-height:390px;overflow:auto;overscroll-behavior:contain}.legacy-sample-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px;border:1px solid #e2e8f0;border-radius:12px;background:#fff}.legacy-sample-card>div{min-width:0}.legacy-sample-card strong,.legacy-sample-card b{display:block;color:#0f172a;font-size:11px;overflow-wrap:anywhere}.legacy-sample-card span,.legacy-sample-card small{display:block;margin-top:3px;color:#64748b;font-size:8px;line-height:1.4}.legacy-sample-card>div:last-child{text-align:right;flex:0 0 auto}.legacy-batch-list{display:grid;gap:9px;margin-top:12px}.legacy-batch-card{padding:12px;border:1px solid #e2e8f0;border-radius:13px;background:#fff}.legacy-batch-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.legacy-batch-head strong{display:block;color:#0f172a;font-size:12px}.legacy-batch-head span{display:block;margin-top:3px;color:#64748b;font-size:9px;overflow-wrap:anywhere}.legacy-batch-status{flex:0 0 auto;padding:5px 8px;border-radius:999px;background:#e2e8f0;color:#475569;font-size:8px;font-style:normal;font-weight:1000}.legacy-batch-status.completed{background:#dcfce7;color:#166534}.legacy-batch-status.failed{background:#fee2e2;color:#991b1b}.legacy-batch-status.rolled_back{background:#e2e8f0;color:#475569}.legacy-batch-status.previewed{background:#dbeafe;color:#1d4ed8}.legacy-batch-status.importing{background:#fef3c7;color:#92400e}.legacy-batch-metrics{display:flex;flex-wrap:wrap;gap:6px;margin:9px 0}.legacy-batch-metrics span{padding:5px 7px;border-radius:8px;background:#f1f5f9;color:#475569;font-size:8px;font-weight:900}.legacy-batch-error{margin:8px 0;padding:8px;border-radius:9px;background:#fef2f2;color:#991b1b;font-size:9px;line-height:1.4}.legacy-batch-card>button{width:100%;margin-top:8px}
@media(max-width:980px){.legacy-import-grid{grid-template-columns:1fr}}
@media(max-width:600px){.legacy-import-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.legacy-monthly-list{grid-template-columns:1fr}.legacy-sample-card{align-items:flex-start}.legacy-sample-card>div:last-child{text-align:left}.legacy-import-grid{gap:12px}}

/* V4.2.11A-HF1 — legacy import resume UX */
.legacy-import-status.info{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}
.legacy-batch-note{margin-top:7px;color:#64748b;font-size:9px;font-weight:800;line-height:1.4}
.legacy-batch-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:7px;margin-top:9px}
.legacy-batch-actions button{width:100%;min-height:40px}
.legacy-batch-actions.two-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:480px){.legacy-batch-actions.two-actions{grid-template-columns:1fr}}

/* V4.2.11A-HF4 — preview discard */
.legacy-batch-actions .danger-outline{border-color:#fecaca;color:#b91c1c;background:#fff7f7}
.legacy-batch-actions .danger-outline:hover{background:#fef2f2}

/* V4.2.17A UI5 OPS6 — Input Barang massal, riwayat ringkas, agregasi SKU, produk serupa. */
.similar-input-toolbar{display:flex;align-items:stretch;justify-content:space-between;gap:10px;margin:10px 0 4px;padding:11px;border:1px solid #dbeafe;border-radius:14px;background:#f8fbff}
.similar-input-toggle{display:flex;align-items:flex-start;gap:10px;min-width:0;cursor:pointer}.similar-input-toggle input{width:19px;height:19px;margin:2px 0 0;flex:0 0 auto}.similar-input-toggle span{display:grid;gap:3px;min-width:0}.similar-input-toggle strong{font-size:11px;color:#1e3a5f}.similar-input-toggle small{font-size:9px;line-height:1.45;color:#64748b}
.request-history-toolbar{display:grid;grid-template-columns:minmax(180px,1fr) minmax(130px,.45fr) minmax(130px,.4fr);gap:8px;margin:10px 0}.request-history-toolbar input,.request-history-toolbar select{min-width:0}
.request-history-pagination{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:11px}.request-history-pagination span{font-size:10px;font-weight:900;color:#526176}.request-history-pagination button{min-height:38px}
.compact-history{gap:10px}.history-group-card{padding:12px;border:1px solid #dbe5f1;border-radius:14px;background:#fff}.history-group-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.history-group-title{font-size:12px;font-weight:1000;color:#0f172a;overflow-wrap:anywhere}.history-group-meta{margin-top:4px;font-size:9px;line-height:1.45;color:#64748b}.history-toggle{flex:0 0 auto;min-height:36px;padding:0 10px}.history-status-row{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.history-status-pill{padding:5px 7px;border-radius:999px;font-size:8px;font-weight:1000;background:#eef2f7;color:#475569}.history-status-pill.submitted{background:#fff7ed;color:#9a3412}.history-status-pill.approved{background:#ecfdf5;color:#166534}.history-status-pill.needs_revision{background:#eff6ff;color:#1d4ed8}.history-status-pill.rejected{background:#fef2f2;color:#991b1b}.history-group-details{display:grid;gap:7px;margin-top:10px;padding-top:10px;border-top:1px dashed #dbe5f1}.history-group-details .intake-item{background:#f8fafc;box-shadow:none}.review-note{margin-top:8px;padding:8px;border-radius:9px;background:#f8fafc}
.queue-group-card{border-color:#c7d7ee}.queue-contribution-list{display:grid;gap:4px;margin:9px 0 0;padding:9px 9px 9px 25px;border-radius:10px;background:#f8fafc;color:#526176;font-size:9px;line-height:1.4}.queue-contribution-list li::marker{color:#4f78df}
.request-aggregation-info{margin:10px 0;padding:11px 12px;border:1px solid #bfdbfe;border-radius:12px;background:#eff6ff;color:#1e3a8a;font-size:10px;line-height:1.5}.request-aggregation-info strong{display:block;margin-bottom:4px}.request-aggregation-info ul{margin:7px 0 0;padding-left:18px}.request-aggregation-info li{margin-top:7px}.request-aggregation-info small{display:block;margin-top:8px;font-weight:800}.request-aggregation-info.conflict{border-color:#f59e0b;background:#fff7ed;color:#7c2d12}.aggregation-conflict-values{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:3px;color:#9a3412}.aggregation-conflict-values span{display:inline-block}
.inventory-export-note{grid-column:1/-1;line-height:1.5}
.bulk-import-row-meta{overflow-wrap:anywhere}
@media(max-width:700px){.request-history-toolbar{grid-template-columns:1fr 1fr}.request-history-toolbar input{grid-column:1/-1}.similar-input-toolbar{display:grid;grid-template-columns:1fr}.similar-input-toolbar>button{width:100%}.history-group-head{align-items:stretch}.history-group-head .history-toggle{min-width:92px}}
@media(max-width:430px){.request-history-toolbar{grid-template-columns:1fr}.request-history-toolbar input{grid-column:auto}.request-history-pagination{display:grid;grid-template-columns:1fr auto 1fr}.request-history-pagination button{padding:0 8px}.history-group-head{display:grid;grid-template-columns:1fr}.history-group-head .history-toggle{width:100%}}
.history-detail-list{display:grid;gap:7px}.history-detail-pager{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:8px}.history-detail-pager span{font-size:9px;font-weight:900;color:#64748b;text-align:center}.history-detail-pager button{min-height:34px;padding:0 10px}
@media(max-width:430px){.history-detail-pager{display:grid;grid-template-columns:1fr auto 1fr}.history-detail-pager button{padding:0 7px}}

/* V4.2.22A — clean read-only attendance roster and stable dashboard nominal layout */
.metric-value{
  white-space:nowrap;
  overflow-wrap:normal;
  word-break:normal;
  font-variant-numeric:tabular-nums;
  letter-spacing:-.045em;
}
.attendance-roster-grid .attendance-date-col,
.attendance-roster-grid .attendance-date-cell{
  padding:0;
  display:grid;
  place-items:center;
  align-content:center;
  justify-content:center;
  line-height:1.05;
  overflow:hidden;
}
.attendance-roster-grid .attendance-date-col{min-height:62px}
.attendance-roster-grid .attendance-date-cell{min-height:47px}
.attendance-roster-cell-readonly{cursor:default;user-select:text}
.attendance-roster-cell-readonly:hover{filter:none}
@media(max-width:780px){
  .metric-value{font-size:clamp(15px,4.25vw,20px)!important;line-height:1.12;letter-spacing:-.055em}
}
@media(max-width:760px){
  .attendance-roster-grid .attendance-date-col{min-height:58px}
  .attendance-roster-grid .attendance-date-cell{min-height:43px}
}

/* V4.2.28A UI6 OPS11 — Nota BPJS */
.bpjs-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.bpjs-class-field{grid-column:1/-1;max-width:420px}.bpjs-rx-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:22px 0 12px;padding-top:18px;border-top:1px solid var(--border)}.bpjs-rx-title span{font-size:12px;color:var(--muted)}.bpjs-rx-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.bpjs-rx-eye{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;padding:14px;border:1px solid var(--border);border-radius:16px;background:var(--surface-soft)}.bpjs-rx-eye>b{grid-column:1/-1}.bpjs-rx-eye label{display:grid;gap:6px;font-size:11px;font-weight:800;color:var(--muted)}.bpjs-rx-eye input,.bpjs-rx-eye select{width:100%}.bpjs-payment-card{margin:14px 0;padding:15px;border:1px solid rgba(17,132,94,.28);border-radius:16px;background:rgba(17,132,94,.08);display:grid;gap:10px}.bpjs-payment-card>div:first-child{display:flex;justify-content:space-between;gap:12px}.bpjs-payment-card span{font-size:11px;font-weight:800;color:var(--muted)}.bpjs-payment-values{display:grid;gap:6px}.bpjs-payment-values span{display:flex;justify-content:space-between}.bpjs-payment-values b{color:var(--text)}
@media(max-width:900px){.bpjs-form-grid,.bpjs-rx-grid{grid-template-columns:1fr}.bpjs-rx-eye{grid-template-columns:repeat(2,minmax(0,1fr))}.bpjs-rx-title{align-items:flex-start;flex-direction:column}.bpjs-class-field{max-width:none}}

/* V4.2.29A UI6 OPS12 — rincian omzet harian Owner */
.dashboard-daily-revenue-card{margin-top:14px}
.dashboard-daily-revenue-head{align-items:flex-end}
.dashboard-daily-revenue-controls{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.dashboard-daily-revenue-controls input{min-height:42px;min-width:164px;padding:0 11px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);font:inherit;font-size:12px;font-weight:800}
.dashboard-daily-revenue-summary{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:12px 0;padding:14px 16px;border:1px solid rgba(79,120,223,.18);border-radius:16px;background:linear-gradient(135deg,rgba(79,120,223,.08),rgba(139,92,246,.06))}
.dashboard-daily-revenue-summary>div{display:grid;gap:4px}.dashboard-daily-revenue-summary span{font-size:9px;font-weight:1000;letter-spacing:.05em;color:var(--muted)}.dashboard-daily-revenue-summary strong{font-size:25px;line-height:1.05;color:var(--text);font-variant-numeric:tabular-nums}.dashboard-daily-revenue-summary small{font-size:10px;color:var(--muted);text-align:right}
.dashboard-daily-revenue-branches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.dashboard-daily-revenue-branch{min-width:0;border:1px solid var(--border);border-radius:16px;background:var(--surface);overflow:hidden}
.dashboard-daily-revenue-branch-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:13px 14px;background:var(--surface-soft);border-bottom:1px solid var(--border)}
.dashboard-daily-revenue-branch-head>div{display:grid;gap:3px;min-width:0}.dashboard-daily-revenue-branch-head strong{font-size:12px;color:var(--text)}.dashboard-daily-revenue-branch-head span{font-size:9px;color:var(--muted)}.dashboard-daily-revenue-branch-head b{font-size:14px;color:var(--text);white-space:nowrap;font-variant-numeric:tabular-nums}
.dashboard-daily-revenue-list{display:grid}.dashboard-daily-revenue-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;border-top:1px dashed var(--border)}.dashboard-daily-revenue-row:first-child{border-top:0}.dashboard-daily-revenue-row>div{display:grid;gap:3px;min-width:0}.dashboard-daily-revenue-row strong{font-size:10px;line-height:1.35;color:var(--text);overflow-wrap:anywhere}.dashboard-daily-revenue-row small,.dashboard-daily-revenue-row span{font-size:8px;line-height:1.4;color:var(--muted);overflow-wrap:anywhere}.dashboard-daily-revenue-row b{font-size:11px;color:var(--text);white-space:nowrap;font-variant-numeric:tabular-nums}.dashboard-daily-revenue-empty{padding:18px 14px;color:var(--muted);font-size:10px;text-align:center}
@media(max-width:780px){.dashboard-daily-revenue-head{align-items:stretch}.dashboard-daily-revenue-controls{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto}.dashboard-daily-revenue-controls input{width:100%;min-width:0}.dashboard-daily-revenue-branches{grid-template-columns:1fr}.dashboard-daily-revenue-summary{align-items:flex-start;flex-direction:column}.dashboard-daily-revenue-summary small{text-align:left}.dashboard-daily-revenue-summary strong{font-size:22px}}
@media(max-width:430px){.dashboard-daily-revenue-row{padding:11px 12px;gap:8px}.dashboard-daily-revenue-row b{font-size:10px}.dashboard-daily-revenue-branch-head{padding:12px}.dashboard-daily-revenue-branch-head b{font-size:12px}}

/* V4.2.31A UI6 OPS14 — dashboard omzet harian mobile-first */
.dashboard-daily-revenue-card{position:relative;margin-top:14px;overflow:hidden}
.dashboard-daily-revenue-card::before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,#4f7cdf,#8b5cf6,#ec4899);opacity:.88}
.dashboard-daily-revenue-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.72fr);align-items:end;gap:18px;margin-bottom:14px;padding-top:4px}
.dashboard-daily-revenue-title{min-width:0}
.dashboard-daily-revenue-kicker{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:7px}
.dashboard-daily-revenue-kicker span{font-size:9px;font-weight:1000;letter-spacing:.12em;color:#64748b}
.dashboard-daily-revenue-kicker b{display:inline-flex;align-items:center;min-height:22px;padding:3px 8px;border-radius:999px;background:#eef2ff;color:#4f46e5;font-size:8px;letter-spacing:.08em}
.dashboard-daily-revenue-title h3{margin:0;font-size:19px;line-height:1.2;letter-spacing:-.025em;color:var(--text)}
.dashboard-daily-revenue-title p{margin:6px 0 0;font-size:11px;line-height:1.5;color:var(--muted)}
.dashboard-daily-revenue-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:9px;min-width:0}
.dashboard-daily-revenue-controls label{display:grid;gap:5px;min-width:0}
.dashboard-daily-revenue-controls label>span{font-size:8px;font-weight:1000;letter-spacing:.09em;color:#64748b}
.dashboard-daily-revenue-controls input{width:100%;min-width:0;min-height:46px;padding:0 12px;border:1px solid #d9e1ef;border-radius:13px;background:#fff;color:#172033;font:inherit;font-size:13px;font-weight:800;box-shadow:0 3px 12px rgba(15,23,42,.04)}
.dashboard-daily-revenue-controls button{min-height:46px;white-space:nowrap;padding-inline:14px}
.dashboard-daily-revenue-summary{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:12px 0 14px;padding:16px 17px;border:1px solid rgba(79,120,223,.17);border-radius:17px;background:linear-gradient(135deg,rgba(79,120,223,.1),rgba(139,92,246,.075),rgba(236,72,153,.045));box-shadow:inset 0 1px rgba(255,255,255,.8)}
.dashboard-daily-revenue-summary>div{display:grid;gap:4px}.dashboard-daily-revenue-summary span{font-size:9px;font-weight:1000;letter-spacing:.07em;color:#64748b}.dashboard-daily-revenue-summary strong{font-size:26px;line-height:1.05;color:#172033;font-variant-numeric:tabular-nums}.dashboard-daily-revenue-summary small{font-size:10px;color:#64748b;text-align:right}
.dashboard-daily-revenue-branches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.dashboard-daily-revenue-branch{position:relative;min-width:0;border:1px solid #dfe6f1;border-radius:18px;overflow:hidden;box-shadow:0 8px 25px rgba(15,23,42,.055)}
.dashboard-daily-revenue-branch.branch-laguna{background:linear-gradient(145deg,#eefaff 0%,#f6f9ff 42%,#fff 100%);border-color:#cfe9f5}
.dashboard-daily-revenue-branch.branch-permata{background:linear-gradient(145deg,#f5efff 0%,#fff2fa 42%,#fff 100%);border-color:#e8d9f6}
.dashboard-daily-revenue-branch-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:15px 15px 14px;border-bottom:1px solid rgba(148,163,184,.2)}
.branch-laguna .dashboard-daily-revenue-branch-head{background:linear-gradient(135deg,rgba(14,165,233,.14),rgba(59,130,246,.07))}
.branch-permata .dashboard-daily-revenue-branch-head{background:linear-gradient(135deg,rgba(139,92,246,.13),rgba(236,72,153,.08))}
.dashboard-daily-revenue-branch-head>div{display:grid;gap:4px;min-width:0}.dashboard-daily-revenue-branch-head strong{font-size:13px;color:#172033}.dashboard-daily-revenue-branch-head span{font-size:9px;color:#64748b}.dashboard-daily-revenue-branch-head b{font-size:15px;color:#172033;white-space:nowrap;font-variant-numeric:tabular-nums}
.dashboard-daily-revenue-list{display:grid;gap:8px;padding:10px}
.dashboard-daily-revenue-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 12px;border:1px solid rgba(203,213,225,.65);border-radius:12px;background:rgba(255,255,255,.78);box-shadow:0 2px 8px rgba(15,23,42,.025)}
.dashboard-daily-revenue-row>div{display:grid;gap:3px;min-width:0}.dashboard-daily-revenue-row strong{font-size:10px;line-height:1.4;color:#172033;overflow-wrap:anywhere}.dashboard-daily-revenue-row small,.dashboard-daily-revenue-row span{font-size:8px;line-height:1.45;color:#64748b;overflow-wrap:anywhere}.dashboard-daily-revenue-row b{font-size:11px;color:#172033;white-space:nowrap;font-variant-numeric:tabular-nums}.dashboard-daily-revenue-empty{margin:10px;padding:17px 12px;border:1px dashed rgba(148,163,184,.5);border-radius:12px;color:#64748b;font-size:10px;text-align:center;background:rgba(255,255,255,.58)}
@media(max-width:780px){
  .dashboard-daily-revenue-head{grid-template-columns:1fr;align-items:stretch;gap:13px}
  .dashboard-daily-revenue-controls{grid-template-columns:minmax(0,1fr) auto}
  .dashboard-daily-revenue-branches{grid-template-columns:1fr}
  .dashboard-daily-revenue-summary{align-items:flex-start;flex-direction:column;gap:9px}
  .dashboard-daily-revenue-summary small{text-align:left}
  .dashboard-daily-revenue-summary strong{font-size:24px}
}
@media(max-width:480px){
  .dashboard-daily-revenue-card{padding:18px 14px}
  .dashboard-daily-revenue-title h3{font-size:18px}
  .dashboard-daily-revenue-controls{grid-template-columns:1fr}
  .dashboard-daily-revenue-controls button{width:100%}
  .dashboard-daily-revenue-summary{padding:15px}
  .dashboard-daily-revenue-row{padding:10px;gap:8px}
  .dashboard-daily-revenue-row b{font-size:10.5px}
  .dashboard-daily-revenue-branch-head{padding:13px}
}

/* V4.2.31A UI6 OPS14 — upload roster Excel */
.attendance-import-card{width:min(880px,96vw);max-height:min(92dvh,780px);display:flex;flex-direction:column;overflow:hidden}
.attendance-import-card>.modal-head,.attendance-import-card>.modal-actions{flex:0 0 auto}
.attendance-import-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding-bottom:24px}
.attendance-import-file-box{display:grid;gap:7px;padding:14px;border:1px solid #dce4f0;border-radius:14px;background:linear-gradient(135deg,#f8fbff,#f7f4ff)}
.attendance-import-file-box>label{font-size:10px;font-weight:900;letter-spacing:.07em;color:#475569}.attendance-import-file-box input{width:100%}.attendance-import-file-box small{font-size:11px;line-height:1.5;color:#64748b}
.attendance-import-status{margin-top:12px;padding:11px 12px;border-radius:11px;background:#f8fafc;color:#64748b;font-size:11px;line-height:1.45}.attendance-import-status.loading{background:#eff6ff;color:#1d4ed8}.attendance-import-status.success{background:#ecfdf3;color:#166534}.attendance-import-status.error{background:#fff1f2;color:#be123c}
.attendance-import-preview{display:grid;gap:12px;margin-top:12px}.attendance-import-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.attendance-import-metrics>div{display:grid;gap:4px;padding:11px;border:1px solid #e2e8f0;border-radius:12px;background:#fff}.attendance-import-metrics span{font-size:8px;font-weight:900;letter-spacing:.06em;color:#64748b}.attendance-import-metrics strong{font-size:16px;color:#172033}.attendance-import-metrics small{font-size:8px;color:#64748b}
.attendance-import-section{display:grid;gap:9px;padding:12px;border:1px solid #e2e8f0;border-radius:14px;background:#fbfcff}.attendance-import-section-head>div{display:grid;gap:2px}.attendance-import-section-head strong{font-size:12px}.attendance-import-section-head small{font-size:9px;color:#64748b}
.attendance-import-mappings{display:grid;gap:7px}.attendance-import-mapping{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(180px,1.3fr) auto;align-items:center;gap:8px;padding:9px 10px;border:1px solid #e2e8f0;border-radius:11px;background:#fff}.attendance-import-mapping>div{display:grid;gap:2px;min-width:0}.attendance-import-mapping strong{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attendance-import-mapping small{font-size:8px;color:#64748b}.attendance-import-mapping select{min-width:0;width:100%;min-height:38px}.attendance-import-map-status{font-size:8px;font-weight:900;border-radius:999px;padding:5px 7px;background:#dcfce7;color:#166534;white-space:nowrap}.attendance-import-map-status.error{background:#fee2e2;color:#b91c1c}
.attendance-import-issues{display:grid;gap:6px}.attendance-import-issue{padding:9px 10px;border:1px solid #fecdd3;border-radius:10px;background:#fff1f2;color:#9f1239;font-size:10px;line-height:1.45}.attendance-import-ok{padding:9px 10px;border:1px solid #bbf7d0;border-radius:10px;background:#f0fdf4;color:#166534;font-size:10px}
.attendance-import-changes{display:grid;gap:6px;max-height:280px;overflow:auto;overscroll-behavior:contain}.attendance-import-change{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:center;padding:9px 10px;border-radius:10px;background:#fff;border:1px solid #e2e8f0}.attendance-import-change>div{display:grid;gap:2px;min-width:0}.attendance-import-change strong{font-size:10px}.attendance-import-change small{font-size:8px;color:#64748b}.attendance-import-change b{font-size:10px;color:#1d4ed8;white-space:nowrap}.attendance-import-change.change b{color:#b45309}.attendance-import-change.unchanged{opacity:.65}
@media(max-width:700px){
  .attendance-import-card{width:100%;max-height:94dvh;border-radius:20px 20px 0 0}
  .attendance-import-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .attendance-import-mapping{grid-template-columns:1fr}.attendance-import-map-status{justify-self:start}
  .attendance-import-card>.modal-actions{display:grid;grid-template-columns:1fr 1fr}.attendance-import-card>.modal-actions .primary-btn{grid-column:1/-1}
}
/* V4.2.31A — alignment preview upload jadwal */
.attendance-import-status.warning{background:#fff7ed;color:#9a3412}
.attendance-import-issue-title{font-size:10px;font-weight:900;color:#9f1239}
.attendance-import-map-row{display:grid;grid-template-columns:minmax(140px,.85fr) minmax(210px,1.15fr);align-items:center;gap:10px;padding:10px;border:1px solid #e2e8f0;border-radius:11px;background:#fff}
.attendance-import-map-row>span{display:grid;gap:3px;min-width:0}.attendance-import-map-row b{font-size:11px;color:#172033;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attendance-import-map-row small{font-size:8px;color:#64748b}.attendance-import-map-row select{width:100%;min-width:0;min-height:40px}
.attendance-import-change{grid-template-columns:minmax(0,1fr) auto auto}.attendance-import-change>span{padding:4px 7px;border-radius:999px;background:#eef2ff;color:#4338ca;font-size:8px;font-weight:900;white-space:nowrap}.attendance-import-change.change>span{background:#fff7ed;color:#9a3412}.attendance-import-change.unchanged>span{background:#f1f5f9;color:#64748b}
@media(max-width:600px){.attendance-import-map-row{grid-template-columns:1fr}.attendance-import-change{grid-template-columns:minmax(0,1fr) auto}.attendance-import-change>span{grid-column:1/-1;justify-self:start}}

/* V4.2.32A OPS15: satu kartu transaksi dengan rincian split payment */
.dashboard-daily-revenue-transaction{display:grid;gap:0;border:1px solid rgba(203,213,225,.72);border-radius:14px;background:rgba(255,255,255,.84);box-shadow:0 3px 10px rgba(15,23,42,.035);overflow:hidden}
.dashboard-daily-revenue-transaction-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;padding:12px 13px}
.dashboard-daily-revenue-transaction-head>div{display:grid;gap:3px;min-width:0}
.dashboard-daily-revenue-transaction-head strong{font-size:10.5px;line-height:1.4;color:#172033;overflow-wrap:anywhere}
.dashboard-daily-revenue-transaction-head small,.dashboard-daily-revenue-transaction-head span{font-size:8.5px;line-height:1.45;color:#64748b;overflow-wrap:anywhere}
.dashboard-daily-revenue-transaction-head>b{font-size:12px;line-height:1.35;color:#172033;white-space:nowrap;font-variant-numeric:tabular-nums}
.dashboard-daily-revenue-payment-list{display:grid;border-top:1px dashed rgba(148,163,184,.42);background:rgba(248,250,252,.66)}
.dashboard-daily-revenue-payment{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 12px;border-top:1px solid rgba(226,232,240,.72)}
.dashboard-daily-revenue-payment:first-child{border-top:0}
.dashboard-daily-revenue-payment>div{display:grid;gap:2px;min-width:0}
.dashboard-daily-revenue-payment strong{font-size:9px;line-height:1.35;color:#334155}
.dashboard-daily-revenue-payment span{font-size:7.8px;line-height:1.35;color:#7c8799;overflow-wrap:anywhere}
.dashboard-daily-revenue-payment>b{font-size:10px;color:#334155;white-space:nowrap;font-variant-numeric:tabular-nums}
@media(max-width:430px){.dashboard-daily-revenue-transaction-head{padding:11px 10px;gap:8px}.dashboard-daily-revenue-transaction-head>b{font-size:11px}.dashboard-daily-revenue-payment{padding:8px 10px}.dashboard-daily-revenue-payment>b{font-size:9.5px}}

/* BPJS O.R terpisah dari resep dokter */
.or-bpjs-order-card{border-color:rgba(139,92,246,.28);background:linear-gradient(135deg,rgba(139,92,246,.07),rgba(236,72,153,.045))}
.or-order-hint{font-size:9px;line-height:1.45;color:#64748b}

.inventory-master-safe-note{padding:14px 16px;border:1px solid rgba(22,179,100,.28);background:rgba(22,179,100,.08);border-radius:18px;color:var(--oj-text-2);margin-bottom:14px;line-height:1.5}.inventory-master-safe-note strong{color:var(--oj-text)}.inventory-master-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px;margin:14px 0}.inventory-master-kpi{border:1px solid var(--oj-line);border-radius:18px;padding:14px;background:var(--oj-surface-soft)}.inventory-master-kpi span{display:block;font-size:11px;letter-spacing:.08em;font-weight:800;color:var(--oj-muted);margin-bottom:6px}.inventory-master-kpi strong{font-size:24px;color:var(--oj-text)}.inventory-master-kpi.ready{background:rgba(22,179,100,.1);border-color:rgba(22,179,100,.28)}.inventory-master-kpi.warning{background:rgba(245,165,36,.12);border-color:rgba(245,165,36,.32)}.inventory-master-kpi.danger{background:rgba(239,98,98,.12);border-color:rgba(239,98,98,.32)}.inventory-master-row{align-items:flex-start}.inventory-master-changes{margin:10px 0 0 0;padding-left:18px;color:var(--oj-text-2);line-height:1.5}.inventory-master-changes b{color:var(--oj-text)}.inventory-master-changes strong{color:var(--oj-primary-dark)}.inventory-master-error,.inventory-master-warning{margin-top:8px;border-radius:12px;padding:8px 10px;font-size:13px}.inventory-master-error{background:rgba(239,98,98,.1);color:#b42318}.inventory-master-warning{background:rgba(245,165,36,.12);color:#8a5a00}

/* LKGP harian cabang aktif */
.daily-sales-filter{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.daily-sales-filter input{min-width:180px}.daily-sales-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:14px 0}.daily-sales-summary .card{padding:13px;border-radius:14px}.daily-sales-summary span{display:block;font-size:8px;font-weight:1000;letter-spacing:.06em;color:#64748b;text-transform:uppercase}.daily-sales-summary strong{display:block;margin-top:5px;font-size:15px;color:#172033;font-variant-numeric:tabular-nums}.daily-sales-method-card,.daily-sales-activity-card{margin-top:14px}.daily-sales-methods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.daily-sales-method-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid #e2e8f0;border-radius:13px;background:#f8fafc}.daily-sales-method-row span{display:grid;gap:3px;font-size:11px;font-weight:900;color:#172033}.daily-sales-method-row small{font-size:8px;color:#64748b;font-weight:700}.daily-sales-method-row strong{white-space:nowrap;font-size:12px;color:#0f766e}.daily-sales-activities{display:grid;gap:10px}.daily-sales-activity{border:1px solid #dce4f0;border-radius:16px;background:#fff;overflow:hidden}.daily-sales-activity.sale{border-left:5px solid #2563eb}.daily-sales-activity.pickup{border-left:5px solid #0f766e}.daily-sales-activity-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:13px 14px 9px}.daily-sales-activity-head>div{display:grid;gap:3px;min-width:0}.daily-sales-activity-head span{font-size:8px;font-weight:1000;letter-spacing:.07em;color:#64748b;text-transform:uppercase}.daily-sales-activity-head strong{font-size:14px;color:#172033;overflow-wrap:anywhere}.daily-sales-activity-head small{font-size:10px;color:#64748b;line-height:1.45}.daily-sales-activity p{margin:0 14px 10px;color:#475569;font-size:10px}.daily-sales-payment-list{display:flex;flex-wrap:wrap;gap:7px;padding:10px 14px 13px;border-top:1px dashed #e2e8f0;background:#fbfdff}.daily-sales-payment-chip{display:inline-grid;grid-template-columns:auto auto;gap:2px 8px;align-items:center;padding:7px 9px;border:1px solid #dbeafe;border-radius:999px;background:#eff6ff;color:#1d4ed8}.daily-sales-payment-chip b{font-size:9px}.daily-sales-payment-chip small{grid-column:1/-1;font-size:8px;color:#64748b}.daily-sales-payment-chip strong{font-size:9px;color:#172033}.daily-sales-muted{font-size:10px;color:#64748b}
@media(max-width:900px){.daily-sales-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.daily-sales-methods{grid-template-columns:1fr}}
@media(max-width:560px){.daily-sales-filter{display:grid;grid-template-columns:1fr}.daily-sales-filter input,.daily-sales-filter button{width:100%}.daily-sales-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.daily-sales-activity-head{align-items:stretch;flex-direction:column}.daily-sales-activity-head button{width:100%}.daily-sales-payment-chip{border-radius:12px}}
.daily-sales-document-card{overflow:auto;background:#eef3ff}.daily-sales-paper{min-width:900px;background:#fff;color:#111827;border:1px solid #d8dee9;padding:22px 26px 26px;box-shadow:0 10px 26px rgba(15,23,42,.08);font-family:Arial,Helvetica,sans-serif}.daily-sales-doc-head{margin-bottom:24px}.daily-sales-doc-head strong{display:block;font-size:18px;font-weight:900;letter-spacing:.01em}.daily-sales-doc-head h3{margin:6px 0 0;font-size:21px;line-height:1.25}.daily-sales-table-wrap{overflow-x:auto}.daily-sales-doc-table,.daily-sales-method-table{width:100%;border-collapse:collapse;background:#fff}.daily-sales-doc-table th,.daily-sales-doc-table td,.daily-sales-method-table td{border:1px solid #d1d5db;padding:8px 10px;text-align:center;font-size:14px;line-height:1.25}.daily-sales-doc-table th{font-weight:900;background:#f8fafc}.daily-sales-doc-table td:nth-child(2),.daily-sales-doc-table td:nth-child(4),.daily-sales-doc-table td:nth-child(6){text-align:left}.daily-sales-doc-table td:last-child,.daily-sales-method-table td:last-child{font-weight:900;text-align:right;white-space:nowrap}.daily-sales-nota-btn{font-weight:900;color:#1d4ed8}.daily-sales-doc-footer{display:grid;grid-template-columns:minmax(0,360px) 1fr;gap:70px;margin-top:20px;align-items:start}.daily-sales-doc-footer h4{margin:0 0 8px;text-align:center;font-size:16px}.daily-sales-method-table td{font-size:14px}.daily-sales-method-table td:first-child{width:44px}.daily-sales-method-table td:nth-child(2){text-align:center}.daily-sales-grand-total{text-align:center;padding-top:8px}.daily-sales-grand-total span{display:block;font-size:18px;font-weight:900}.daily-sales-grand-total strong{display:block;margin-top:28px;font-size:26px;font-weight:1000}.daily-sales-filter .secondary-btn{background:#fff}
@media(max-width:760px){.daily-sales-document-card{margin-left:-4px;margin-right:-4px;padding:12px}.daily-sales-paper{min-width:760px;padding:18px}.daily-sales-doc-head strong{font-size:15px}.daily-sales-doc-head h3{font-size:17px}.daily-sales-doc-table th,.daily-sales-doc-table td,.daily-sales-method-table td{font-size:12px;padding:7px}.daily-sales-doc-footer{grid-template-columns:320px 1fr;gap:34px}.daily-sales-grand-total strong{font-size:22px}}

/* Arsip Nota — read-only archive list for voided archived transactions. */
.archive-note-box{margin-top:12px;border:1px solid #fed7aa;background:#fff7ed;color:#7c2d12;border-radius:13px;padding:12px 14px;font-size:12.5px;line-height:1.45}
.warning-outline{border-color:#fed7aa!important;color:#9a3412!important;background:#fff7ed!important}
.archived-transaction-card{border-color:#fed7aa;background:linear-gradient(180deg,#fff,#fff7ed)}
.archived-transaction-card .transaction-date{overflow-wrap:anywhere}
