:root{--navy: #152845;--orange: #EC6B25;--bg: #f4f6f9;--card: #ffffff;--border: #dce2ea;--green: #22a06b;--amber: #e08a1e;--red: #d0453b}*{box-sizing:border-box}html,body{margin:0;width:100%;overflow-x:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--navy)}.app{max-width:640px;width:100%;margin:0 auto;padding:16px}.brand{text-align:center;padding:16px 0}.brand b{font-size:24px}.brand .o{color:var(--orange)}.brand .n{color:var(--navy)}.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:20px;margin-bottom:16px;box-shadow:0 1px 3px #0000000a;max-width:100%;overflow:hidden}h1,h2,h3{color:var(--navy)}h2{font-size:18px;margin:0 0 12px}label{display:block;font-size:13px;font-weight:600;margin:12px 0 4px;color:#48566b}input,select{width:100%;padding:12px;border:1px solid var(--border);border-radius:10px;font-size:16px}input:focus,select:focus{outline:2px solid var(--orange);border-color:var(--orange)}.btn{display:inline-block;width:100%;padding:14px;background:var(--orange);color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:700;cursor:pointer}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-nav{background:var(--navy)}.btn-ghost{background:#fff;color:var(--navy);border:1px solid var(--border)}.langgrid,.actgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.langbtn{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notice{word-break:break-word}.langbtn{padding:16px;border:2px solid var(--border);border-radius:12px;background:#fff;color:var(--navy);font-size:16px;font-weight:600;cursor:pointer}.langgrid .langbtn:last-child:nth-child(odd){grid-column:1 / -1}.langbtn:hover{border-color:var(--orange)}.legalbox{max-height:260px;overflow-y:auto;background:#f8fafc;border:1px solid var(--border);border-radius:10px;padding:14px;font-size:13px;line-height:1.5;white-space:pre-wrap}.notice{background:#fff5ef;border-left:3px solid var(--orange);padding:8px 12px;font-size:12px;margin:8px 0;border-radius:4px}.checks label{display:flex;align-items:center;gap:8px;font-weight:500;margin:6px 0}.checks input{width:auto}.sigpad{border:2px dashed var(--border);border-radius:12px;touch-action:none;width:100%;height:200px;background:#fff}.row{display:flex;gap:8px}.row>*{flex:1}.badge{display:inline-block;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:700;color:#fff}.badge.valid{background:var(--green)}.badge.expiring{background:var(--amber)}.badge.expired{background:var(--red)}.flag{color:var(--red);font-weight:700}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--border)}th{color:#48566b;font-size:12px;text-transform:uppercase}tr:hover td{background:#f8fafc;cursor:pointer}.admin{max-width:1100px}.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.err{color:var(--red);font-size:13px;margin-top:8px}.ok{color:var(--green)}.tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.tabs .btn,.tabs .btn-ghost{width:auto;padding:10px 16px}.badge.otp_pending{background:#9aa5b1}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.statcard{background:#f8fafc;border:1px solid var(--border);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:4px}.statcard-t{font-size:13px;color:#48566b;font-weight:600}.statcard-n{font-size:32px;color:var(--navy);line-height:1}.ministat{background:#f8fafc;border:1px solid var(--border);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:2px}.ministat b{font-size:24px;color:var(--navy)}.ministat span{font-size:12px;color:#48566b}.ministat.clickable{cursor:pointer}.ministat.clickable:hover{border-color:var(--orange)}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#15284573;z-index:50;display:flex;align-items:flex-start;justify-content:center;padding:24px;overflow-y:auto}.modal{max-width:620px;width:100%;margin:auto}.mini{padding:5px 10px;margin-right:6px;border:1px solid var(--border);background:#fff;border-radius:8px;font-size:12px;cursor:pointer;color:var(--navy)}.mini:hover{border-color:var(--orange)}select.mini,td select{padding:6px;border:1px solid var(--border);border-radius:8px;font-size:13px}
