.tos-follow-box{margin:14px 0;padding:12px;border:1px solid var(--border,#dfe1e2);border-radius:8px;background:#faf9f6;display:grid;gap:8px}.tos-follow-box small{color:#667085}.tos-follow-box label{font-size:12px;font-weight:600}.tos-follow-box input{width:100%;margin-top:4px}.tos-fu{background:#fff;border:1px solid var(--border,#ddd);border-radius:8px;padding:14px;margin:10px 0;display:grid;grid-template-columns:1.4fr .8fr 1fr auto;gap:12px;align-items:center}.tos-fu.overdue{border-left:4px solid #9b2c2c}.tos-fu.today{border-left:4px solid #9b7b43}.tos-fu small{display:block;color:#667085}.tos-actions{display:flex;gap:6px;flex-wrap:wrap}.tos-modal{position:fixed;inset:0;background:#0008;z-index:9999;display:grid;place-items:center;padding:18px}.tos-sheet{background:#fff;width:min(760px,100%);max-height:92vh;overflow:auto;border-radius:10px;padding:20px}.tos-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tos-grid label{font-size:12px;font-weight:600}.tos-grid input,.tos-grid select,.tos-grid textarea{width:100%;margin-top:5px}.tos-checks{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:14px 0}.tos-checks label{font-weight:500}.tos-print{display:none}.tos-half{height:138mm;padding:8mm 10mm;box-sizing:border-box;font-size:10px;overflow:hidden}.tos-cut{height:4mm;border-top:1px dashed #555;text-align:center;font-size:9px;line-height:4mm}.tos-half h2,.tos-half h3,.tos-half p{margin:3px 0}.tos-half table{width:100%;border-collapse:collapse;margin:5px 0}.tos-half th,.tos-half td{border:1px solid #bbb;padding:3px}.tos-copytag{float:right;font-weight:700;letter-spacing:.08em}.tos-total{display:flex;justify-content:space-between;font-weight:700;margin-top:4px}.tos-muted{color:#666}@media(max-width:700px){.tos-fu{grid-template-columns:1fr}.tos-grid,.tos-checks{grid-template-columns:1fr}}@media print{body.tos-printing>*:not(#tosPrintArea){display:none!important}body.tos-printing #tosPrintArea{display:block!important;position:fixed;inset:0;background:white}.tos-print{display:none}@page{size:A4 portrait;margin:0}}
/* V2 professional half-A4 invoice */
.tos-half{height:138.5mm;padding:5mm 7mm;box-sizing:border-box;font-size:9.2px;overflow:hidden}.tos-half .inv-frame{height:100%;border:1.4px solid #222;display:flex;flex-direction:column;box-sizing:border-box}.inv-head{display:flex;justify-content:space-between;gap:10px;padding:5mm 5mm 3mm;border-bottom:1px solid #555}.inv-head h1{font-size:17px;margin:0 0 2px;text-transform:uppercase;letter-spacing:.04em}.inv-head p{margin:1px 0}.inv-copy{text-align:right;min-width:120px}.inv-copy b{display:block;border:1px solid #222;padding:4px 7px;font-size:10px;letter-spacing:.1em}.inv-copy span{display:block;margin-top:4px;font-weight:700}.inv-meta{display:grid;grid-template-columns:1fr 1fr 1.4fr 1fr;border-bottom:1px solid #777}.inv-meta>div{padding:5px 7px;border-right:1px solid #aaa}.inv-meta>div:last-child{border-right:0}.inv-meta span{display:block;font-size:7.5px;text-transform:uppercase;color:#555}.inv-meta b{display:block;margin-top:2px}.inv-table{width:100%;border-collapse:collapse;margin:0}.inv-table th{background:#f2f2f2;text-transform:uppercase;font-size:7.5px;letter-spacing:.04em}.inv-table th,.inv-table td{border-right:1px solid #aaa;border-bottom:1px solid #aaa;padding:4px 5px}.inv-table th:last-child,.inv-table td:last-child{border-right:0}.inv-table .r{text-align:right}.inv-note{padding:4px 6px;border-bottom:1px solid #aaa}.inv-note span{float:right}.inv-bottom{margin-top:auto;display:grid;grid-template-columns:1fr 46%;border-top:1px solid #777}.inv-pay{padding:6px}.inv-pay p{margin:2px 0}.inv-pay .sign{margin-top:14px}.inv-summary{border-left:1px solid #777}.inv-summary>div{display:flex;justify-content:space-between;padding:3px 6px;border-bottom:1px solid #ccc}.inv-summary .net{font-size:10px;border-top:1px solid #333;border-bottom:1px solid #333}.inv-summary .due{font-size:10px}.inv-frame footer{text-align:center;border-top:1px solid #777;padding:3px;font-size:7.5px}.tos-cut{height:4mm;border-top:1px dashed #333;text-align:center;font-size:8px;line-height:4mm;letter-spacing:.12em}

/* Modular ThangamOS shell */
.module-home-link{display:flex;align-items:center;gap:9px;margin:0 12px 10px;padding:10px 12px;border:1px solid var(--border,#dfe1e2);border-radius:8px;text-decoration:none;color:inherit;font-weight:700;background:rgba(255,255,255,.05)}
.module-launch-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:16px 0 20px}.module-launch{display:block;padding:18px;border:1px solid var(--border,#dfe1e2);border-radius:10px;background:var(--card,#fff);text-decoration:none;color:inherit;box-shadow:0 3px 12px rgba(0,0,0,.04)}.module-launch .mi{font-size:28px;display:block;margin-bottom:10px}.module-launch b{font-size:18px;display:block}.module-launch small{display:block;margin-top:5px;line-height:1.45;color:var(--muted,#687078)}.module-launch:hover{transform:translateY(-1px)}
.dashboard-bars{display:grid;grid-template-columns:1.2fr .8fr;gap:14px;margin-bottom:18px}.dash-panel{padding:16px;border:1px solid var(--border,#dfe1e2);border-radius:10px;background:var(--card,#fff)}.dash-panel h3{margin:0 0 12px}.dash-bar{display:grid;grid-template-columns:105px 1fr auto;gap:10px;align-items:center;margin:10px 0;font-size:13px}.dash-track{height:9px;background:#e8e8e8;border-radius:99px;overflow:hidden}.dash-fill{height:100%;background:currentColor;border-radius:99px}.dash-sales{color:#9b7b43}.dash-due{color:#a14b42}.dash-crm{color:#456c87}
@media(max-width:850px){.module-launch-grid{grid-template-columns:1fr 1fr}.dashboard-bars{grid-template-columns:1fr}.module-home-link{margin-top:4px}}
@media(max-width:520px){.module-launch-grid{grid-template-columns:1fr}.module-launch{padding:14px}}
