:root{--ink:#292929;--muted:#707070;--line:#d7d7d7;--paper:#fff;--soft:#f4f4f4;--dark:#303030}*{box-sizing:border-box}body{margin:0;background:linear-gradient(135deg,#ececec,#f7f7f7);color:var(--ink);font:14px "Segoe UI",Arial,sans-serif}.app{max-width:1120px;margin:0 auto;padding:36px 22px}.app-header,.panel-title,.list-tools,.actions{display:flex;align-items:center;justify-content:space-between;gap:16px}.app-header{margin-bottom:24px}.app-header p,.panel p{margin:0 0 4px;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.8px}.app-header h1,.panel h2{margin:0;font-weight:700}.app-header h1{font-size:30px}.panel{margin-top:18px;padding:26px;border:1px solid #fff;border-radius:14px;background:rgba(255,255,255,.76);box-shadow:0 14px 36px rgba(0,0,0,.09)}.panel-title{margin-bottom:20px}.panel-title strong{padding:10px 14px;border:1px solid #bbb;border-radius:9px;background:#f3f3f3;font-size:16px}.grid{display:grid;gap:15px}.grid.two{grid-template-columns:1fr 1fr}label{display:block;margin-top:15px;color:#4e4e4e;font-size:12px;font-weight:650}input,textarea{width:100%;margin-top:6px;padding:10px 11px;border:1px solid #bebebe;border-radius:7px;background:#fff;color:#222;font:inherit}textarea{min-height:84px;resize:vertical}input:focus,textarea:focus{outline:3px solid rgba(70,70,70,.14);border-color:#777}.check{display:flex;align-items:center;gap:8px;cursor:pointer}.check input{width:16px;height:16px;margin:0;accent-color:#333}.check small{color:var(--muted);font-weight:400}.actions{margin-top:22px}.primary,.secondary{padding:10px 15px;border-radius:7px;font:inherit;font-weight:650;cursor:pointer}.primary{border:1px solid #202020;background:linear-gradient(#5c5c5c,#303030);color:#fff}.secondary{border:1px solid #c6c6c6;background:#f8f8f8;color:#444}.list-tools{margin-bottom:18px}.list-tools input{max-width:295px;margin:0}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:13px 10px;border-bottom:1px solid #e1e1e1;text-align:left;vertical-align:middle;white-space:nowrap}th{color:#6e6e6e;font-size:10px;letter-spacing:.4px;text-transform:uppercase}td:nth-child(3){max-width:290px;overflow:hidden;text-overflow:ellipsis}tbody tr:hover{background:#f7f7f7}.badge{display:inline-block;padding:4px 7px;border-radius:5px;font-size:11px;font-weight:700}.paid{color:#316844;background:#dff0e3}.due{color:#765a26;background:#f5eacc}.icon-button{margin-left:4px;padding:6px 8px;border:1px solid #cacaca;border-radius:5px;background:#fff;cursor:pointer}.icon-button:hover{background:#eee}.empty{padding:40px;text-align:center;color:var(--muted)}.message{margin:0 0 15px;padding:10px;border-radius:7px;background:#ffe4e4;color:#9d3030}@media(max-width:700px){.app{padding:20px 12px}.app-header{align-items:flex-start;flex-direction:column}.grid.two{grid-template-columns:1fr}.list-tools{align-items:stretch;flex-direction:column}.list-tools input{max-width:none}.panel{padding:18px}.app-header h1{font-size:25px}}
#printArea{display:none}@media print{body{background:#fff!important;color:#000!important}body>*:not(#printArea){display:none!important}#printArea,#printArea *{visibility:visible!important;box-shadow:none!important;text-shadow:none!important}#printArea{display:block!important;position:fixed;top:0;left:0;width:210mm;height:148.5mm;margin:0;padding:10mm 11mm 7mm;color:#000;font:9pt "Segoe UI",Arial,sans-serif}.print-document{display:block;width:100%;height:100%;padding:4mm;border:2px solid #000;background:#fff}.print-head{display:flex!important;align-items:flex-start;justify-content:space-between;gap:8mm;padding:0 0 3.5mm;border-bottom:2px solid #000}.print-head h1{margin:0;color:#000;font-size:18pt;font-weight:900;letter-spacing:.5px}.photo-label{margin:1mm 0 0;color:#000;font-size:7pt;font-weight:900;letter-spacing:1px}.print-number{min-width:39mm;padding:2.5mm 3.5mm;border:1.5px solid #000;border-radius:0;background:#fff;text-align:right}.print-number b,.print-number small{display:block}.print-number b{margin:.5mm 0;color:#000;font-size:15pt;font-weight:900}.print-number small{color:#000;font-size:6.6pt;font-weight:700}.print-client{display:flex!important;align-items:baseline;gap:3mm;margin:3mm 0;padding-bottom:2.5mm;border-bottom:1px solid #000}.print-client span,.print-box h2,.print-summary small{color:#000;font-size:6.5pt;font-weight:900;letter-spacing:.9px}.print-client strong{color:#000;font-size:16pt;font-weight:900;letter-spacing:-.15px}.print-grid{display:grid!important;grid-template-columns:.85fr 1.35fr;gap:3mm}.print-box{display:block!important;min-height:0;padding:3.5mm 4mm;border:1.5px solid #000;border-radius:0;background:#fff}.print-box h2{margin:0 0 2mm;color:#000}.print-box p{margin:1.2mm 0;color:#000;font-weight:600;line-height:1.4;white-space:pre-wrap}.print-note{grid-column:1/-1;border-left:4px solid #000;background:#fff}.print-summary{display:flex!important;align-items:center;justify-content:space-between;gap:7mm;margin-top:3.5mm;padding:3.5mm 4.5mm;border:2px solid #000;border-radius:0;background:#000;color:#fff}.print-summary>div:first-child{display:flex!important;flex-direction:column;gap:.7mm}.print-summary small{color:#fff}.print-summary strong{color:#fff;font-size:15pt;font-weight:900}.stamp{min-width:37mm;padding:2mm 4mm;border:2px solid #000;border-radius:0;background:#fff;color:#000;font-size:13pt;font-weight:900;letter-spacing:1px;text-align:center;transform:none}.stamp.paid,.stamp.due{color:#000;border-color:#000;background:#fff}@page{size:A4 portrait;margin:0}}
