@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
.action-dropdown{position:relative}.action-dropdown>button{width:100%;white-space:nowrap}.action-list{position:absolute;top:calc(100% + 8px);right:0;min-width:190px;background:white;border:1px solid #dce2d7;border-radius:10px;padding:7px;box-shadow:0 14px 35px #193d3020;z-index:20}.action-list button{display:block;width:100%;text-align:left;border:0;padding:11px 14px;font-weight:500}.action-list[hidden]{display:none}
:root{font-family:'DM Sans',sans-serif;color:#22372f;background:#f5f6f2;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,select{cursor:pointer}button{border:1px solid #d8ded7;background:white;color:#294338;border-radius:8px;padding:11px 16px;font-weight:600}button:hover{background:#edf2eb}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #a9c79a;outline-offset:2px}.primary{background:#244b3c;color:white;border-color:#244b3c}.primary:hover{background:#34664e}aside{position:fixed;inset:0 auto 0 0;width:225px;background:#183c30;color:#eaf1e9;padding:36px 22px;display:flex;flex-direction:column}.brand{font-size:28px;letter-spacing:3px;padding:0 10px}.brand small{display:block;font-size:9px;letter-spacing:2px;margin:12px 0 45px;color:#a9bdb0}nav{display:grid;gap:9px}nav button{border:0;background:transparent;text-align:left;color:#bacec1;padding:15px 13px;font-size:14px}nav .selected,nav button:hover{background:#315546;color:#fff}.aside-bottom{margin-top:auto;font-size:11px;letter-spacing:1px;line-height:2}.aside-bottom small{color:#9bb3a5;font-size:10px;letter-spacing:0}main{margin-left:225px;padding:0 42px}header{min-height:82px;border-bottom:1px solid #dde2d9;display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:1.4px;color:#758378}.demo{letter-spacing:0;background:#e9ede3;padding:8px 12px;border-radius:20px}.heading{display:flex;justify-content:space-between;align-items:center;padding:34px 0 26px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:#768570}h1{font-family:Manrope,sans-serif;font-size:34px;letter-spacing:-1.3px;margin:8px 0}h2{font-family:Manrope,sans-serif;margin:5px 0 20px}.heading p:not(.eyebrow){color:#7c877f;margin:7px 0;font-size:14px}.actions{display:flex;gap:10px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:30px}.stat{border:1px solid #dfe5db;background:#fff;padding:20px;border-radius:12px}.stat small{color:#728075}.stat strong{display:block;font-family:Manrope,sans-serif;font-size:30px;margin:12px 0 5px;font-weight:700}.stat span{font-size:11px;color:#788775}.stat:first-child{background:#e8eddf}.toolbar{display:flex;gap:10px;background:white;border:1px solid #e0e5dc;border-radius:12px;padding:13px}.toolbar input{flex:1;min-width:130px}input,select,textarea{border:1px solid #dce2d8;border-radius:7px;padding:11px;background:#fff;color:#34463b}select{max-width:100%}.results{display:flex;justify-content:space-between;align-items:center;padding:22px 0;font-size:12px;color:#768477}.results select{background:transparent;border:0;font-size:12px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card{text-align:left;padding:22px;border-radius:12px;border:1px solid #dce2d7;background:#fff;transition:transform .15s,box-shadow .15s;font-weight:400}.card:hover{background:white;transform:translateY(-3px);box-shadow:0 8px 20px #193d3010}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px}.symbol{font-size:21px;color:#6c846d;background:#eff3e9;padding:6px 10px;border-radius:8px}.badge{display:inline-block;font-size:10px;font-weight:600;padding:6px 9px;border-radius:20px;background:#eaf1e4;color:#486342}.badge.Reserved{background:#fff1d9;color:#94702c}.badge.Leased{background:#e9edf9;color:#596a9b}.badge.WIP{background:#fae8df;color:#a76742}.card h3{font-family:Manrope,sans-serif;margin:0 0 7px;font-size:18px;letter-spacing:.3px}.muted{font-size:12px;color:#809080}.card-bottom{display:flex;justify-content:space-between;border-top:1px solid #edf0e9;padding-top:16px;margin-top:22px;font-size:12px}.card-bottom b{font-weight:600}.empty{grid-column:1/-1;padding:60px;text-align:center;background:white;border-radius:12px}footer{padding:35px 0;color:#8c978d;font-size:11px}dialog{border:0;border-radius:16px;box-shadow:0 24px 100px #132f3040;padding:30px;width:610px;max-width:calc(100vw - 30px);max-height:90vh}dialog::backdrop{background:#162c285e;backdrop-filter:blur(3px)}.modal-head,.modal-foot{display:flex;align-items:center;justify-content:space-between;gap:20px}.modal-head button{border:0}.modal-foot{border-top:1px solid #e1e5de;padding-top:20px;margin-top:22px}.modal-foot span,dialog p{font-size:13px;color:#788476;line-height:1.6}label{display:grid;gap:8px;font-size:12px;font-weight:600;margin:16px 0}textarea{width:100%;min-height:90px;resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}#error{color:#af4a31}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;background:#f3f5ef;padding:20px;border-radius:10px}.detail-grid small{display:block;color:#768473;margin-bottom:8px}.history{padding:13px 0;border-bottom:1px solid #e7eae3;font-size:12px}.report-panel{background:white;border-radius:12px;padding:25px;border:1px solid #e0e5da;margin-bottom:20px}.report-row{display:grid;grid-template-columns:150px 1fr 130px;gap:18px;align-items:center;margin:20px 0;font-size:13px}.bar{background:#eef2e8;border-radius:5px;height:12px;overflow:hidden}.bar i{display:block;background:#75906a;height:100%;border-radius:5px}.report-row b{text-align:right;font-size:12px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#203f32;color:white;padding:13px 22px;border-radius:9px;display:none;z-index:10}.chips{display:flex;flex-wrap:wrap;gap:10px}.chips span{background:#eef2e8;padding:9px 14px;border-radius:7px;font-size:13px}.list-add{display:flex;gap:10px;margin-top:20px}.list-add input{flex:1;min-width:0}@media(min-width:1500px){.cards{grid-template-columns:repeat(4,1fr)}}@media(max-width:1100px){aside{width:185px;padding:30px 12px}main{margin-left:185px;padding:0 24px}.cards{grid-template-columns:repeat(2,1fr)}.toolbar{flex-wrap:wrap}.heading{align-items:flex-start;gap:15px}.actions{flex-direction:column}.stat{padding:15px}.stat strong{font-size:24px}}@media(max-width:700px){aside{position:static;width:auto;padding:16px}.brand{font-size:20px}.brand small,.aside-bottom{display:none}nav{display:flex;margin-top:15px}nav button{padding:10px;font-size:11px}main{margin-left:0;padding:0 18px}header{min-height:60px;gap:12px}.demo{font-size:9px}.heading{padding:25px 0}h1{font-size:27px}.actions button{font-size:11px;padding:10px}.stats{grid-template-columns:repeat(2,1fr);gap:10px}.cards{grid-template-columns:1fr}.toolbar input{width:100%;flex-basis:100%}.toolbar select{flex:1;width:40%}.report-row{grid-template-columns:100px 1fr 80px;gap:8px}.form-grid{gap:0 10px}dialog{padding:20px}}

/* Compact stock list keeps details readable without oversized cards. */
#cards{display:block;overflow-x:auto;background:white;border:1px solid #dce2d7;border-radius:10px}
.stock-table{width:100%;border-collapse:collapse;text-align:left;font-size:12px;white-space:nowrap}
.stock-table th{padding:14px 12px;background:#edf1e8;font-size:11px;font-weight:700;color:#4c6151;border-bottom:1px solid #dce2d7}
.stock-table td{padding:8px 12px;height:45px;border-bottom:1px solid #e8ece4}
.stock-table tbody tr:nth-child(even){background:#f8faf6}
.stock-table tbody tr[data-number]{cursor:pointer}
.stock-table tbody tr[data-number]:hover,.stock-table tbody tr:focus-within{background:#edf3e7}
.stock-table tbody tr:last-child td{border-bottom:0}
.stock-table .amount{text-align:right;font-variant-numeric:tabular-nums}
.stock-table .total{font-weight:700}
.stock-table .row-notes{max-width:240px;min-width:160px;overflow:hidden;text-overflow:ellipsis;color:#758371}
.container-link{border:0;background:transparent;padding:4px 0;font-size:12px;font-weight:700;white-space:nowrap}
.container-link:hover{background:transparent;text-decoration:underline}
.stock-table .badge{font-size:10px;padding:4px 8px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.list-edit{padding:3px 7px;margin-left:9px;font-size:11px;background:white;border-color:#d2dacb}.chips>span{display:inline-flex;align-items:center}

.list-heading{display:flex;align-items:center;gap:14px;margin-bottom:20px}.list-heading h2{margin:0}.list-heading button{padding:6px 12px;font-size:12px}.manage-entry{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0;border-bottom:1px solid #e3e8df}.manage-entry small{display:block;color:#788476;font-size:11px;margin-top:5px}.entry-actions{display:flex;gap:8px}.entry-actions button{padding:7px 11px}.entry-actions button:disabled{opacity:.4;cursor:not-allowed}

.lease-history{background:#f3f5ef;padding:12px;border-radius:8px}.lease-history div{display:grid;grid-template-columns:115px 1fr;gap:12px;margin:7px 0}.lease-history dt{color:#748170}.lease-history dd{margin:0;overflow-wrap:anywhere}

#undo:disabled{opacity:.45;cursor:not-allowed}.actions{flex-wrap:wrap}

.badge.Awaiting.off.lease.delivery{background:#fff1c2;color:#85620b}


.brand{font-size:22px;letter-spacing:-.5px}.brand small{letter-spacing:1.5px}

/* Containers NZ brand guide: Cherry Red #CD001A, Black #000000, White #FFFFFF. */
:root{color:#242424;background:#f5f5f5;font-family:Arial,Helvetica,sans-serif}
aside{background:#000;color:#fff;border-right:1px solid #242424}
.brand{padding:0;margin-bottom:24px}.brand img{display:block;width:100%;height:auto;background:#fff;border-radius:3px;padding:10px}.brand small{color:#c5c5c5;text-align:center;margin:16px 0 8px;font-size:9px}
nav button{color:#ccc}nav .selected,nav button:hover{background:#cd001a;color:white}
.aside-bottom small{color:#aaa}
h1,h2,.stat strong{font-family:Eurostyle,Eurostile,'Arial Black',Arial,sans-serif}
h1{letter-spacing:-1px}.eyebrow{color:#a90016}header{color:#737373;border-color:#dedede}.demo{background:#ececec;color:#555}
button{color:#262626;border-color:#d9d9d9}button:hover{background:#f2f2f2}.primary{background:#cd001a;border-color:#cd001a;color:white}.primary:hover{background:#a90016}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:#cd001a}
input,select,textarea{color:#262626;border-color:#d8d8d8}
.stat{border-color:#dedede}.stat:first-child{background:#fff;border-top:3px solid #cd001a}.stat small,.stat span,.muted,.results,.heading p:not(.eyebrow){color:#717171}
.toolbar,#cards,.report-panel{border-color:#dedede}.stock-table th{background:#ededed;color:#252525;border-color:#d9d9d9}.stock-table td{border-color:#e7e7e7}.stock-table tbody tr:nth-child(even){background:#fafafa}.stock-table tbody tr[data-number]:hover,.stock-table tbody tr:focus-within{background:#fff0f2}.stock-table .row-notes{color:#707070}
.container-link{color:#202020}.detail-grid,.lease-history{background:#f4f4f4}.detail-grid small,.lease-history dt,dialog p,.modal-foot span{color:#666}.history{border-color:#e0e0e0}.modal-foot{border-color:#ddd}
.chips span{background:#eee}.bar{background:#eee}.bar i{background:#cd001a}.action-list{border-color:#ddd;box-shadow:0 14px 35px #0002}.entry-actions button{border-color:#ddd}#toast{background:#222}footer{color:#777}
.badge.Awaiting.off.lease.delivery{background:#fff1c2;color:#85620b}
@media(max-width:700px){.brand{margin:0}.brand img{width:145px;padding:7px}.brand small{display:none}}

aside{background:#303030;border-right-color:#383838}.brand b{display:block;color:#fff;font-size:23px;letter-spacing:-.5px;white-space:nowrap}.brand small{text-align:left}

#release-print-sheet{display:none}#release-error{color:#b00020}#release-form textarea{min-height:72px}@media print{body.printing-release>*{display:none!important}body.printing-release #release-print-sheet{display:block!important;color:#000;background:#fff;padding:20px}body.printing-release dialog{display:none!important}#release-print-sheet dl>div{display:grid;grid-template-columns:160px 1fr;padding:7px 0;border-bottom:1px solid #ddd}#release-print-sheet dd{margin:0;white-space:pre-wrap}#release-print-sheet p{white-space:pre-wrap}#release-print-sheet h1{color:#cd001a}}

#release-add-container{align-self:end;justify-self:start;padding:7px 12px;font-size:12px;line-height:1.3;margin:0 0 16px;min-height:0}#release-form label:has(#rel-containers){grid-column:1/-1}#release-form label:has(#rel-containers)>button{align-self:start;justify-self:start;padding:5px 9px;font-size:11px;font-weight:500}#release-form label:has(#release-container-search){margin-top:0}#release-form #rel-containers{min-height:64px}

#release-form label:has(#release-container-search){grid-column:1/-1;margin-top:4px}#release-add-container{grid-column:1/-1;margin-top:-8px;margin-bottom:4px}#release-form label:has(#rel-containers){margin-top:8px}

.stats{grid-template-columns:repeat(5,minmax(0,1fr))}@media(max-width:1100px){.stats{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:700px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}

@media(min-width:1101px){.stats{grid-template-columns:repeat(4,minmax(0,1fr))}}

.badge.On.move{background:#fff1c2;color:#85620b}


.delete-container{padding:4px 7px;font-size:11px;font-weight:500;color:#a90016;border-color:#ead5d8;background:transparent}.delete-container:hover{background:#fff0f2}

.permission-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.permission-grid label{display:flex;align-items:center;gap:9px;margin:5px 0}.permission-grid input{accent-color:#cd001a}#user-error{color:#a90016}
