@import"https://fonts.googleapis.com/css2?family=Noto+Sans+Thai:wght@400;500;600;700&display=swap";.push-settings{display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:#eaf6f1;border:1px solid #cce8dd;border-radius:12px;padding:15px 17px;margin:0 0 22px}.push-copy{display:flex;align-items:flex-start;gap:11px;flex:1;min-width:220px;color:#08765f}.push-copy>svg{flex-shrink:0;margin-top:2px}.push-copy strong{font-size:14px;font-weight:600}.push-copy p{margin:4px 0 0;font-size:12px;line-height:1.7;color:#60766c}.push-actions{display:flex;gap:8px;flex-wrap:wrap}.push-actions button{font-size:12px;padding:9px 12px;min-height:40px}.push-message{width:100%;font-size:12px;line-height:1.7;margin:0;color:#486559;overflow-wrap:anywhere}@media(max-width:760px){.push-settings{gap:12px;padding:13px}.push-copy{min-width:0;width:100%;flex-basis:100%}.push-copy strong{font-size:13px}.push-copy p{font-size:11px}.push-actions{padding-left:31px}}.app-tabs{display:flex;gap:8px;padding:5px;background:#e9eef2;border-radius:11px;width:max-content;margin:0 0 25px}.app-tabs button{border:0;background:transparent;color:#687789;border-radius:8px;padding:10px 18px;font-size:14px;font-weight:600;min-height:42px}.app-tabs button.selected{background:#fff;color:#08765f;box-shadow:0 1px 4px #132f3c14}.document-summary{margin-top:32px}.document-toolbar{margin-bottom:21px}.document-filters button{font-size:14px}.document-list{display:flex;flex-direction:column;gap:12px}.document-card{position:relative;display:flex;align-items:center;gap:17px;background:#fff;border:1px solid var(--border);border-radius:13px;padding:19px 58px 19px 20px;min-height:108px}.document-icon{width:52px;height:52px;display:grid;place-items:center;flex-shrink:0;color:#08765f;background:#e7f6f1;border-radius:13px}.document-content{min-width:0;flex:1}.document-title-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.document-title-row h2{font-size:17px;line-height:1.4;margin:0;font-weight:700}.document-details{margin:3px 0 0;color:var(--muted);font-size:13px;overflow-wrap:anywhere}.document-date{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12px;margin:6px 0 0}.document-countdown{display:flex;align-items:baseline;gap:7px;margin:6px 0 0;font-size:14px;flex-wrap:wrap}.document-countdown strong{font-weight:600;color:#08765f}.document-countdown span{font-size:12px;color:var(--muted)}.document-progress-row{display:flex;align-items:center;gap:9px;margin-top:10px}.document-progress{height:9px;flex:1;overflow:hidden;border-radius:20px;background:#e6ebf0}.document-progress>div{height:100%;border-radius:20px;background:var(--green);transition:width .4s ease}.document-progress.soon>div{background:#e4a006}.document-progress.expired>div{background:#c97873}.document-percent{flex-shrink:0;white-space:nowrap;min-width:36px;text-align:right;color:#586779;font-size:11px}.document-date-range{display:flex;justify-content:space-between;gap:12px;margin-top:5px;color:var(--muted);font-size:11px}.document-card.soon .document-icon{color:#ad7408;background:#fff5df}.document-card.soon .document-countdown strong{color:#ad7408}.document-card.expired .document-icon{color:#b75752;background:#fbeeed}.document-card.expired .document-countdown strong{color:#b75752}.document-card .status{margin-left:auto}.document-edit{position:absolute;right:14px;top:14px;color:#728094}.document-form-body{display:grid;gap:15px}.document-date-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.document-details-field,.document-expiry-field{margin-top:2px}.document-form-body .expiry-preview{display:flex;align-items:center;gap:6px;margin:0}@media(max-width:760px){.app-tabs{width:100%;display:grid;grid-template-columns:1fr 1fr;margin-bottom:20px}.app-tabs button{padding:9px 7px;font-size:12px}.document-summary{margin:25px 0 26px}.document-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.document-filters button{font-size:10px;padding:8px 4px}.document-card{align-items:flex-start;gap:12px;padding:16px 40px 16px 13px;min-height:0}.document-icon{width:43px;height:43px;border-radius:11px}.document-icon svg{width:23px;height:23px}.document-title-row{gap:7px}.document-title-row h2{font-size:14px}.document-card .status{font-size:9px;padding:3px 7px;margin-left:0}.document-details{font-size:12px}.document-date{font-size:11px;flex-wrap:wrap}.document-countdown{font-size:13px;gap:5px}.document-countdown span{font-size:11px}.document-progress-row{margin-top:8px;gap:7px}.document-progress{height:8px}.document-date-range{font-size:10px}.document-edit{right:7px;top:9px}.document-form-body{gap:13px}.document-date-fields{grid-template-columns:minmax(0,1fr);gap:13px}}.auth-modes{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:5px;margin:0 0 23px;background:#f1f5f7;border-radius:10px}.auth-modes button{min-height:40px;border:0;border-radius:7px;background:transparent;color:#667488;font-size:14px;font-weight:500}.auth-modes button.selected{background:#fff;color:var(--green);box-shadow:0 1px 4px #172a3a14;font-weight:600}.auth-card .auth-password-wrap{position:relative;margin:8px 0 15px}.auth-card .auth-password-wrap input{margin:0;padding-right:50px}.password-visibility{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:36px;height:36px;border:0;border-radius:6px;background:transparent;color:var(--muted)}.password-visibility:focus-visible{outline:3px solid #68ccb7;outline-offset:1px}.auth-card .auth-submit{width:100%;margin-top:4px}.auth-card .auth-link-button{width:100%;min-height:38px;margin-top:6px;padding:5px;border:0;border-radius:7px;background:transparent;color:var(--green);font-size:13px}.auth-card .form-error{font-size:13px;line-height:1.8}:root{font-family:Noto Sans Thai,sans-serif;color:#14202f;background:#f5f8fa;font-synthesis:none;--green:#07866b;--muted:#748093;--border:#dde5ec;--amber:#d89908}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;transition:background .15s,box-shadow .15s}button:focus-visible,a:focus-visible{outline:3px solid #68ccb7;outline-offset:3px}button:hover{filter:brightness(.97)}input,select{min-width:0}svg{flex-shrink:0}button{display:inline-flex;align-items:center;justify-content:center;gap:8px}.site-header{height:76px;background:#fff;border-bottom:1px solid var(--border)}.header-inner{max-width:1364px;margin:auto;height:100%;display:flex;align-items:center;gap:25px}.brand{display:flex;align-items:center;gap:14px;color:#14202f;text-decoration:none;font-size:26px;font-weight:700;letter-spacing:-.8px}.brand svg{color:var(--green)}.brand-description{border-left:1px solid #d7dfe7;padding-left:25px;color:var(--muted);font-size:15px}.local-indicator{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:13px;color:#607084}.local-indicator i{width:8px;height:8px;background:var(--green);border-radius:50%}main{max-width:1364px;margin:0 auto;padding:39px 0 24px}.page-heading{display:flex;justify-content:space-between;align-items:center}.page-heading h1{font-size:40px;line-height:1.35;letter-spacing:-1.2px;margin:0 0 4px;font-weight:700}.page-heading p{margin:0;color:var(--muted);font-size:20px}.primary-button{background:var(--green);color:#fff;border:1px solid var(--green);border-radius:9px;padding:11px 20px;font-size:15px;font-weight:600;min-height:45px}.add-product{font-size:18px;padding:13px 27px;gap:12px}.summary{display:grid;grid-template-columns:repeat(3,1fr);margin:32px 0 35px}.summary>div{display:flex;flex-direction:column;align-items:center;border-right:1px solid #d4dde6;padding:0 16px}.summary>div:last-child{border:0}.summary h2{font-size:16px;color:#4b586a;font-weight:600;margin:0}.summary strong{font-size:43px;color:var(--green);line-height:1.25;font-weight:700}.summary strong.amber{color:var(--amber)}.summary span{font-size:13px;color:var(--muted)}.toolbar{display:flex;align-items:center;gap:25px;margin-bottom:21px}.search-box{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid var(--border);border-radius:10px;padding:0 17px;height:53px;flex:1;color:var(--muted)}.search-box:focus-within{border-color:var(--green);box-shadow:0 0 0 3px #07866b10}.search-box input{width:100%;border:0;outline:0;background:transparent;font-size:15px;color:#243243}.search-box input::placeholder{color:#8893a3}.filters{display:flex;gap:10px}.filters button{white-space:nowrap;border:1px solid #dfe6ed;background:#edf1f5;color:#6c7788;padding:11px 20px;border-radius:9px;font-size:14px;font-weight:500;height:47px}.filters button.selected{background:#d5f0e9;border-color:#bde6da;color:#057459;font-weight:600}.product-list{display:flex;flex-direction:column;gap:14px}.product-card{position:relative;display:flex;align-items:stretch;background:#fff;border:1px solid var(--border);border-radius:13px;padding:25px;min-height:145px}.product-identity{width:35%;display:flex;align-items:flex-start;gap:27px;padding-right:20px}.product-icon{background:#e6f7f2;color:#04745e;border-radius:17px;width:84px;height:84px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.product-identity h2{font-size:20px;line-height:1.5;margin:1px 0 0;font-weight:700}.model{font-size:16px;color:var(--muted);margin:0 0 4px}.purchase{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);margin:0}.sample-label{color:#96a0ad;font-size:10px}.coverage-list{width:65%;padding:0 51px 0 27px;border-left:1px solid #e5eaf0}.coverage+.coverage{margin-top:18px;padding-top:17px;border-top:1px solid #e5eaf0}.coverage-top{display:flex;align-items:center;gap:13px;margin-bottom:11px;min-height:28px}.coverage-title{display:flex;align-items:center;gap:17px}.coverage h3{font-size:16px;white-space:nowrap;margin:0;font-weight:600}.status{font-size:11px;font-weight:500;color:#08775f;background:#e0f6ef;padding:4px 12px;border-radius:20px;white-space:nowrap}.remaining{margin-left:auto;font-size:15px;white-space:nowrap}.remaining strong{font-weight:500;color:#078367}.remaining span{color:var(--muted)}.percent{font-size:12px;color:#586779;min-width:35px;text-align:right;margin-left:9px}.progress{height:11px;background:#e6ebf0;border-radius:20px;overflow:hidden}.progress>div{height:100%;border-radius:20px;background:var(--green);transition:width .4s ease}.date-range{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--muted);margin-top:7px}.soon .status{background:#fff1d6;color:#b47807}.soon .remaining strong{color:#b67b07}.soon .progress>div{background:#e4a006}.expired .status{background:#fce9e8;color:#bb524e}.expired .remaining strong{color:#b75853}.expired .progress>div{background:#c97873}.upcoming .status{background:#e9effa;color:#536da1}.upcoming .remaining strong{color:#536da1}.edit-button{position:absolute;right:17px;top:26px;color:#728094}.icon-button{border:0;background:transparent;border-radius:7px;padding:7px;color:#788494}.icon-button:hover{background:#f0f4f6}.icon-button.danger{color:#be5b54}footer{color:#8c97a5;font-size:11px;text-align:center;padding-top:22px}footer p{display:flex;gap:6px;align-items:center;justify-content:center;margin:3px 0}.clear-samples{background:none;border:0;color:#718094;font-size:11px;text-decoration:underline;margin-top:5px;padding:3px}.empty-state{text-align:center;padding:55px 20px;background:#fff;border:1px dashed var(--border);border-radius:13px}.empty-icon{display:inline-flex;color:var(--green);background:#e7f7f1;padding:17px;border-radius:18px}.empty-state h2{font-size:22px;margin:17px 0 7px}.empty-state p{color:var(--muted);margin:0 0 22px}.secondary-button{background:#fff;color:#586779;border:1px solid var(--border);border-radius:8px;padding:10px 18px;font-size:14px}.toast-region{position:fixed;bottom:25px;left:50%;transform:translate(-50%);z-index:100}.toast{display:flex;gap:10px;align-items:center;white-space:nowrap;background:#123f34;color:#fff;border-radius:10px;box-shadow:0 5px 25px #0002;padding:13px 22px;font-size:14px}dialog{width:650px;max-width:calc(100vw - 32px);padding:0;max-height:90dvh;border:1px solid var(--border);border-radius:17px;color:#182536;background:#fff;box-shadow:0 20px 80px #112a3030}dialog::backdrop{background:#172a3a66;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dialog-header{display:flex;justify-content:space-between;align-items:flex-start;padding:25px 28px 18px;border-bottom:1px solid #edf0f3}.dialog-header h2{font-size:24px;margin:0}.dialog-header p{font-size:13px;color:var(--muted);margin:4px 0 0}.form-body{padding:23px 28px}.form-body label{display:block;font-size:13px;font-weight:500;color:#4a596b}.form-body input,.form-body select{width:100%;display:block;min-height:43px;border:1px solid #dbe3e9;border-radius:8px;background:#fff;color:#233449;padding:9px 12px;font-size:14px;margin-top:6px;outline:0}.form-body input:focus,.form-body select:focus{border-color:var(--green);box-shadow:0 0 0 3px #07866b13}.required{color:var(--green)}.optional{font-weight:400;color:#929ba7;font-size:11px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-top:17px}.form-section-title{display:flex;align-items:center;justify-content:space-between;margin-top:25px}.form-section-title h3{font-size:16px;margin:0}.form-section-title span{font-size:12px;color:var(--muted)}.form-help{color:var(--muted);font-size:12px;margin:4px 0 14px}.coverage-form{border:1px solid #e2e9ed;background:#f8fafb;border-radius:10px;padding:15px;margin-bottom:12px}.coverage-form-heading{display:flex;align-items:center;justify-content:space-between;min-height:30px;margin-bottom:7px;font-size:12px;color:#6e7e8d}.coverage-fields{display:grid;grid-template-columns:1.5fr 1fr .75fr;gap:12px;margin-top:13px}.expiry-preview{color:#088468;font-size:11px;margin:11px 0 0}.add-coverage{border:1px dashed #95caba;background:#f4fcf9;color:#087c60;width:100%;padding:11px;border-radius:8px;font-size:13px}.dialog-footer{position:sticky;bottom:0;background:#fff;padding:18px 28px;border-top:1px solid #e5ebef;display:flex;align-items:center;justify-content:space-between;gap:12px}.dialog-actions{display:flex;gap:10px;margin-left:auto}.delete-product{color:#bf514e;background:none;border:0;font-size:13px;padding:8px 0}.form-error{color:#b45149;font-size:12px;margin-bottom:0}@media(min-width:1600px){main,.header-inner{max-width:1364px}}@media(max-width:1470px){main,.header-inner{margin-left:5%;margin-right:5%}.product-identity{gap:20px;width:34%}.coverage-list{width:66%;padding-left:24px;padding-right:32px}.coverage-top{gap:8px}.coverage-title{gap:10px}.remaining{font-size:14px}.status{padding:4px 9px}.filters button{padding-left:15px;padding-right:15px}.product-identity h2{font-size:19px}.percent{margin-left:4px}}@media(max-width:1150px){.coverage-top{flex-wrap:wrap}.remaining{margin-left:0;flex:1}.coverage-title{width:100%}.coverage-list{padding-right:19px}.edit-button{right:10px;top:13px}.toolbar{gap:15px}.filters{gap:6px}.filters button{font-size:12px;padding:9px 11px}.product-identity{gap:14px}.product-icon{width:65px;height:65px}.product-icon svg{width:33px}.product-identity h2{font-size:17px}.model{font-size:14px}.page-heading h1{font-size:35px}}@media(max-width:760px){.site-header{height:65px}.header-inner{gap:15px}.brand{font-size:22px;gap:9px}.brand svg{width:30px}.brand-description{display:none}.local-indicator{font-size:10px;gap:5px}.local-indicator svg{width:14px}.local-indicator i{width:6px;height:6px}main{padding-top:28px}.page-heading{gap:12px}.page-heading h1{font-size:28px;letter-spacing:-.6px}.page-heading p{font-size:14px}.add-product{font-size:13px;padding:10px 14px;gap:6px}.add-product svg{width:18px}.summary{margin:25px 0 26px}.summary h2{font-size:12px}.summary strong{font-size:34px}.summary span{font-size:10px}.summary>div{padding:0 4px}.toolbar{flex-direction:column;align-items:stretch;gap:13px;margin-bottom:18px}.search-box{flex:auto;height:47px}.search-box input{font-size:13px}.filters{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.filters button{font-size:10px;padding:8px 3px;height:38px}.product-card{display:block;padding:19px 18px;min-height:0}.product-identity{width:100%;gap:16px;align-items:center;padding:0 24px 16px 0}.product-icon{width:63px;height:63px;border-radius:13px}.product-identity h2{font-size:17px}.purchase{font-size:11px}.model{font-size:13px;margin:0 0 3px}.sample-label{font-size:9px}.coverage-list{width:100%;padding:16px 0 0;border-left:0;border-top:1px solid #e7edf1}.coverage-title{width:auto;gap:12px}.coverage-top{gap:7px;margin-bottom:9px}.coverage h3{font-size:13px}.status{font-size:9px;padding:3px 8px}.remaining{width:100%;flex:auto;order:2;font-size:12px}.percent{margin-left:auto;order:1;font-size:11px}.progress{height:8px}.date-range{font-size:10px}.edit-button{top:19px;right:12px}.coverage+.coverage{margin-top:15px;padding-top:15px}footer{font-size:10px;padding-top:20px}footer p:first-child{align-items:flex-start}dialog{max-width:calc(100vw - 20px);max-height:94dvh;border-radius:13px}.dialog-header{padding:20px}.dialog-header h2{font-size:21px}.dialog-header p{font-size:11px}.form-body{padding:20px}.form-grid{grid-template-columns:1fr;gap:14px}.coverage-fields{grid-template-columns:1.5fr .8fr .75fr;gap:8px}.form-body input,.form-body select{font-size:13px;padding:9px 8px}.coverage-form{padding:12px}.dialog-footer{padding:15px 20px}.dialog-actions{gap:7px}.dialog-actions button{font-size:12px;padding:10px 12px}.delete-product{font-size:11px}.toast{font-size:12px;padding:12px 18px}}@media(min-width:1151px){.page-heading h1{font-size:44px}.page-heading p{font-size:22px}.summary h2{font-size:18px}.summary strong{font-size:45px}.summary span{font-size:15px}.brand-description{font-size:17px}.local-indicator{font-size:14px}.product-identity h2{font-size:22px}.model{font-size:18px}.purchase{font-size:15px}.product-icon{width:92px;height:92px}.product-icon svg{width:43px;height:43px}.coverage h3{font-size:18px}.status{font-size:13px}.remaining{font-size:17px}.percent,.date-range{font-size:14px}.search-box input{font-size:16px}.filters button{font-size:15px}.coverage-top{margin-bottom:10px}.product-identity{gap:27px}.product-card{padding:25px}.coverage-list{padding-left:29px}.sample-label{font-size:11px}}.auth-page{min-height:100dvh;display:grid;place-items:center;padding:25px}.auth-card{width:440px;max-width:100%;background:#fff;border:1px solid var(--border);border-radius:18px;padding:38px}.auth-logo{color:var(--green);margin-bottom:20px}.auth-card h1{font-size:29px;margin:0 0 10px}.auth-card>p{font-size:15px;color:var(--muted);line-height:1.9;margin-bottom:26px}.auth-card label{font-size:14px;color:#526274}.auth-card input{display:block;width:100%;padding:13px 15px;border:1px solid var(--border);border-radius:8px;margin:8px 0 15px;outline-color:var(--green)}.auth-card form>.primary-button{width:100%}.auth-card small{display:block;color:var(--muted);font-size:11px;margin-top:25px;line-height:1.8}.auth-success{color:var(--green);font-size:13px;line-height:1.8}.app-loading{text-align:center;padding:60px;color:var(--muted)}.account-line{color:var(--muted);font-size:12px;margin:-15px 0 17px;overflow-wrap:anywhere}.signout-button{background:#fff;border:1px solid var(--border);padding:7px 10px;font-size:12px;border-radius:7px;color:#657487}.database-error,.import-banner{display:flex;gap:15px;align-items:center;justify-content:space-between;background:#fff2e4;border:1px solid #f1d9b7;color:#98662e;padding:13px 18px;border-radius:9px;margin-bottom:18px;font-size:13px}.database-error button,.import-banner button{background:#fff;border:1px solid #d7bd95;color:#98662e;border-radius:6px;padding:6px 13px;white-space:nowrap;font-size:12px}.import-banner{background:#e6f6ef;border-color:#bbded0;color:#087b60}.import-banner button{color:#087b60;border-color:#bbded0}.form-body{border:0;margin:0;min-width:0}.server-error{padding:0 28px 15px}button:disabled{opacity:.55;cursor:wait}.product-identity>div:last-child{min-width:0;overflow-wrap:anywhere}.coverage-title{min-width:0;flex-wrap:wrap}.coverage h3{white-space:normal;overflow-wrap:anywhere}.coverage-top{flex-wrap:wrap}.remaining{max-width:100%;white-space:normal}.header-inner{gap:18px}@media(max-width:760px){.auth-card{padding:28px}.local-indicator{margin-left:auto;font-size:10px}.signout-button{font-size:10px;white-space:nowrap;padding:5px 7px}.header-inner{gap:9px}.brand{font-size:19px}.brand svg{width:27px}.account-line{margin:-10px 0 16px}.database-error,.import-banner{font-size:12px;padding:12px}.auth-card h1{font-size:26px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}@media(max-width:760px){.auth-page{grid-template-columns:minmax(0,1fr)}.search-box input,.form-body input,.form-body select,.auth-card input{font-size:16px}}@media(max-width:560px){.coverage-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0;width:100%;padding-right:8px}.coverage-fields>label{min-width:0;max-width:100%}.coverage-fields>label:first-child{grid-column:1/-1}.coverage-fields input[type=date]{display:block;width:100%;min-width:0;max-width:100%;box-sizing:border-box;padding-inline:6px}}.brand-icon-frame{position:relative;display:block;overflow:hidden;width:39px;height:39px;flex:0 0 auto;border-radius:14%}.brand-icon-frame img{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.18)}.auth-brand-icon{width:64px;height:64px}@media(max-width:760px){.brand-icon-frame{width:27px;height:27px}}
