/* Foxe identity and shared form controls. Logo colors: #ffd116, #f43f20. */
:root{--foxe-yellow:#ffd116;--foxe-orange:#f43f20;--foxe-charcoal:#242321;--ink:#292824;--muted:#79766f;--line:#e8e5dd;--accent:#b83d20;--accent-deep:#923019;--soft:#faf9f6;--surface:#fff;--shadow:0 2px 8px #362d1606}
body{background:radial-gradient(ellipse at 6% 0%,#fff0bb70,transparent 55%),#f4f2ec;color:var(--ink)}
.shell{border-color:#e6e2d7;box-shadow:0 8px 32px #42341308}main,main>.topbar{background:var(--soft)}
.shell>aside .brand{gap:12px;padding:10px 12px;min-height:74px;border-color:var(--line);background:#fff;box-shadow:none}
.shell>aside .brand::before,.shell>aside .brand::after{display:none}
.foxe-logo{display:block;width:40px;height:54px;object-fit:contain;flex:none}.brand-copy{display:flex;flex-direction:column;gap:2px;font-size:15px;font-weight:700;letter-spacing:-.2px}.shell>aside .brand-copy small{font-size:11px;font-weight:450;color:var(--muted);letter-spacing:0}
.nav-icon{color:#b96930}aside nav a.active{color:#43351c;background:#fff1b9}aside nav a:hover{background:#fff8dd;color:#43351c}.user::before{background:#ffedaa}.user{border-color:var(--line)}
main a.button-link{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 16px!important;border:1px solid #e7bd12!important;border-radius:8px!important;background:#ffd116!important;color:#30280c!important;box-shadow:none!important;font-size:13px;font-weight:600;white-space:nowrap}main a.button-link:hover{background:#f4c710!important;color:#30280c!important}
main>.topbar h1{font-size:17px;font-weight:650}.topbar .logout{color:#555149!important;border-color:#dfdbd1!important}.topbar .logout:hover{color:#a63520!important;background:#fff4ef!important}
.card,.notice,main .card,form.card{border-color:var(--line);border-radius:12px;box-shadow:var(--shadow)}.card:hover{border-color:#ded8ca;box-shadow:var(--shadow)}.notice{border-left-color:var(--foxe-yellow)}
main a:not(.page-link){color:#a34425}main a:not(.page-link):hover{color:#763219}main .catalog-tabs a{color:#565044!important;border-color:var(--line);font-weight:550}main .catalog-tabs a.is-selected{background:#fff1b9;border-color:#efd16c;color:#5b4317!important;box-shadow:none}main .catalog-tabs a:hover{background:#fff8df;border-color:#e9d99d}
/* Width and box sizing prevent date fields and search fields overflowing grid cells. */
main form label,main form>div,main form input,main form select,main form textarea{min-width:0;box-sizing:border-box}
main form input:not([type=checkbox]):not([type=radio]):not([type=hidden]),main form select,main form textarea,.box input{width:100%;max-width:100%;min-width:0!important;border:1px solid #dcd8ce!important;border-radius:8px!important;background-color:#fff;color:var(--ink)!important;font:inherit;font-size:13px!important;font-weight:450!important;padding:11px 13px!important;line-height:20px;box-shadow:0 1px 2px #29231704;transition:border-color .15s,box-shadow .15s}
main form input:not([type=checkbox]):not([type=radio]):not([type=hidden]),main form select,.box input{height:44px;min-height:44px!important}
main form select{appearance:none;padding-right:36px!important;background-image:linear-gradient(45deg,transparent 50%,#8a8170 50%),linear-gradient(135deg,#8a8170 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}
main form textarea{min-height:110px;resize:vertical}main form input::placeholder,main form textarea::placeholder,.box input::placeholder{color:#a09b92;font-weight:400}
main form input:focus,main form select:focus,main form textarea:focus,.box input:focus{outline:0;border-color:#c69715!important;box-shadow:0 0 0 3px #ffd11628!important}
main form input:disabled,main form select:disabled,main form textarea:disabled{background-color:#f4f2ee!important;color:#948d81!important;cursor:not-allowed}main form input[readonly]{background-color:#f8f6f0!important}
main .company-logo-upload small:not([style]),main form.card small.muted{color:var(--muted)!important;font-weight:400}.company-logo-preview{border-color:var(--line)!important;background:#faf8f1!important}
main form label,main form label>span:not(.muted),.box label{font-size:12px!important;font-weight:600!important;letter-spacing:0!important;color:#5a5348!important;line-height:1.5}
main form label>input:not([type=checkbox]):not([type=radio]),main form label>select,main form label>textarea{display:block;margin-top:8px!important}
main form label>span:has(+input),main form label>span:has(+select){margin-bottom:0!important}
main form.card:not([method=get]){width:100%;max-width:900px!important;padding:28px!important;overflow:visible;border-top:3px solid var(--foxe-yellow)}
main form.card:not([method=get])>div[style*="grid"]{gap:22px!important}
main form.card:not([method=get])>div:last-child:has(>button){display:flex;align-items:center;flex-wrap:wrap;gap:12px!important;margin-top:28px!important;padding-top:22px;border-top:1px solid var(--line)}
main form.card:not([method=get])>div:last-child> a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px!important;border:1px solid #dfdbd2;border-radius:8px;color:#62594b!important;font-size:13px;font-weight:550;background:#fff}
/* All filters share one surface, spacing scale, and aligned action row. */
main form[method=get]{padding:20px!important;background:#fff!important;border:1px solid var(--line)!important;border-radius:12px!important;box-shadow:var(--shadow);gap:16px!important;align-items:end!important;margin-bottom:22px!important;overflow:visible!important}
main form[method=get] label{margin:0!important}main form[method=get] input,main form[method=get] select{margin-top:0}main form[method=get] label>input,main form[method=get] label>select{margin-top:8px!important}
main .cut-filter,main .template-filter{grid-template-columns:repeat(4,minmax(0,1fr))!important}
main .cut-search{grid-column:span 2}
main .cut-filter-actions,main .filter-actions,main .list-filter-actions,main .catalog-filter-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px!important;min-width:0!important}
main .cut-filter-actions,main .template-filter .filter-actions{grid-column:1/-1;justify-content:flex-end;padding-top:16px;border-top:1px solid var(--line);flex-wrap:nowrap}
main .qr-filter{grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr)) auto auto}
/* Primary actions use yellow with dark text for contrast. */
body button:not(.logout):not(.status-toggle):not(.status-pill):not(.template-status-button):not(.btn-secondary):not(.secondary):not(.confirm-cancel):not(.table-action):not(.search-select-trigger):not(.search-select-option),main a[style*="background"]:not(.btn-secondary):not(.secondary),main .btn:not(.btn-secondary),main a[role=button]:not(.secondary){display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:11px 20px!important;border:1px solid #e7bd12!important;border-radius:8px!important;background:var(--foxe-yellow)!important;color:#30280c!important;box-shadow:0 2px 3px #6f510c0b!important;font-size:13px!important;font-weight:650!important;line-height:20px;letter-spacing:0;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,box-shadow .15s}
body button:not(.logout):not(.status-toggle):not(.status-pill):not(.template-status-button):not(.btn-secondary):not(.secondary):not(.confirm-cancel):not(.table-action):not(.search-select-trigger):not(.search-select-option):hover,main a[style*="background"]:not(.btn-secondary):not(.secondary):hover{background:#f4c710!important;border-color:#d7ae0a!important;transform:none;filter:none;box-shadow:0 3px 8px #6f510c17!important}
main .btn-secondary,main button.secondary,main a.secondary,body button.confirm-cancel{display:inline-flex;align-items:center;justify-content:center;min-height:44px!important;padding:11px 18px!important;border:1px solid #ded9ce!important;border-radius:8px!important;background:#fff!important;color:#625747!important;font-size:13px!important;font-weight:550!important;line-height:20px;box-shadow:none!important;white-space:nowrap}
main .btn-secondary:hover,main button.secondary:hover,main a.secondary:hover,body button.confirm-cancel:hover{background:#faf7ee!important;border-color:#cfc4ab!important;transform:none;filter:none}
main .table-action{display:inline-flex;align-items:center;justify-content:center;min-height:34px!important;padding:6px 12px!important;border:1px solid #e0d9ca!important;border-radius:7px!important;color:#765335!important;background:#fff!important;font-size:12px!important;font-weight:550!important;box-shadow:none!important;white-space:nowrap}.table-action:hover{background:#fff8e1!important;border-color:#e5cd84!important}
button:disabled{opacity:.55;cursor:not-allowed!important;transform:none!important}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #c6971566;outline-offset:3px}
main form input[type=checkbox]:checked{background:#f1c40c!important;border-color:#d1ab0c!important}main form input[type=radio]{accent-color:#b57812}
main form input[type=file]{height:auto!important;padding:8px!important}input[type=file]::file-selector-button{border:1px solid #e4d597;border-radius:6px;background:#fff6d1;color:#65521f;padding:6px 10px;margin-right:12px;font:inherit;font-size:12px;cursor:pointer}
main form.card label:has(input[type=checkbox]),main form.card label:has(input[type=radio]){display:flex;align-items:center;flex-wrap:wrap;gap:10px;color:#585044!important}main form.card label:has(input[type=checkbox]) small{flex-basis:100%;margin-left:48px;color:var(--muted)!important}
main .template-filter .search-select-trigger{height:44px;min-height:44px!important;padding:10px 13px!important;border-color:#dcd8ce!important;background:#fff!important;color:var(--ink)!important;font-weight:450!important;font-size:13px!important;box-shadow:none!important;border-radius:8px!important}.search-select-trigger::after{color:#8a8170}main .template-filter .search-select-option{background:#fff!important;color:var(--ink)!important;font-weight:450!important;box-shadow:none!important}main .template-filter .search-select-option:hover,main .template-filter .search-select-option[aria-selected=true]{background:#fff1b9!important;color:#503c14!important}
main .status-toggle.is-active,main .status-pill.is-active,main .template-status-button.is-active{background:#e7f6ea!important;color:#277345!important;border:0!important;box-shadow:none!important}main .status-toggle.is-inactive,main .status-pill.is-inactive,main .template-status-button.is-inactive{background:#fff0e9!important;color:#aa452b!important;border:0!important;box-shadow:none!important}
.soft-badge.teal,.detail-tabs a:first-child{background:#fff2bf;color:#7b5723}.status-pill{background:#fff3cf;color:#8b5f14}.detail-step.done .step-dot{border-color:#bd8420}.detail-step.done{color:#665134}.detail-section summary::after{color:#a77523}.cut-status.status-cutting{background:#fff2c1;color:#8b6411}
.dashboard-summary div{border-left-color:#ffd116}.cut-line,.cut-point{stroke:#cf9b11}.page-loader-spinner{border-top-color:#d3a100}.pagination .page-item.active .page-link{background:#ffd116;border-color:#e2b812;color:#30280c}
th{background:#faf9f6!important;color:#807668!important}tbody tr:hover{background:#fffcf3!important}table tbody tr:nth-child(even){background:#fdfcf9}
/* Sign-in shares the same identity and control system. */
body.login-page{background:radial-gradient(ellipse at 5% 10%,#ffedaf80,transparent 60%),#f6f3ea!important}.login-page .page{border-color:#e7deca!important;box-shadow:0 16px 50px #5b441514!important}.login-page .intro{background:linear-gradient(145deg,#fff9e7,#fff0b3)!important;border-color:#eee3bf!important}.login-page .mark{width:78px;height:104px;background:transparent!important;border:0!important;border-radius:0!important}.login-page .mark img{width:100%;height:100%;object-fit:contain}.login-page .brand{color:#3c3326!important;margin-top:28px}.login-page .intro p,.login-page .point{color:#8b7754!important}.login-page .point span{background:#ffe18b!important;color:#8b511d!important}.login-page .box input{height:46px;border-color:#dcd8ce!important;border-radius:8px!important}.login-page .box input:focus{border-color:#c69715!important;box-shadow:0 0 0 3px #ffd11628!important}.login-page .box label{font-weight:600!important}.login-page .box button{width:100%}.login-page .box h1{color:#332f27!important}
@media(max-width:1100px){main .cut-filter,main .template-filter{grid-template-columns:repeat(2,minmax(0,1fr))!important}main .qr-filter{grid-template-columns:repeat(2,minmax(0,1fr))}main .qr-filter>input{grid-column:1/-1}}
@media(max-width:700px){.shell>aside .brand{min-height:60px;margin-bottom:10px}.foxe-logo{width:30px;height:40px}main form.card:not([method=get]){padding:20px!important}main form.card>div[style*="grid-template-columns:1fr 1fr"],main form.card>div[style*="grid-template-columns:repeat(2"],main form.card>div[style*="grid-template-columns:repeat(3"]{grid-template-columns:1fr!important}main form[method=get]{padding:16px!important;gap:14px!important}main .cut-filter-actions{justify-content:flex-start}.login-page .intro{display:flex;align-items:center;gap:18px}.login-page .mark{width:44px;height:60px}.login-page .brand{margin:0}}
@media(max-width:560px){main .cut-filter,main .template-filter,main .qr-filter{grid-template-columns:1fr!important}main .cut-search,main .qr-filter>input{grid-column:auto}main .cut-filter-actions,main .template-filter .filter-actions{grid-column:1/-1;justify-content:flex-start}main .cut-filter-actions>*,main .template-filter .filter-actions>*{flex:1}main form.card:not([method=get])>div:last-child:has(>button)>*{flex:1;text-align:center}}

/* Sign-in uses the same Foxe action colors as the admin workspace. */
body.login-page .box button{background:var(--foxe-yellow)!important;color:#30280c!important;border-color:#e7bd12!important;font-size:12px;font-weight:600!important;box-shadow:none!important}
body.login-page .box button:hover{background:#f4c710!important}
body.login-page .box input:focus{border-color:#c69715!important;box-shadow:0 0 0 3px #ffd11628!important}