:root{
  --red:#d71920;--red-dark:#b91219;--red-soft:#fff1f1;--ink:#17181a;--muted:#72767d;
  --line:#e8e9eb;--bg:#f6f7f8;--white:#fff;--green:#15956a;--amber:#e68a00;--blue:#3178d8;
  --shadow:0 12px 35px rgba(25,25,25,.07);--radius:18px
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;}
button,input,select{font:inherit;appearance:none;-webkit-appearance:none}button{cursor:pointer;border:0;background:none;color:inherit}img{max-width:100%;display:block;height:auto}
.hidden{display:none!important}
.splash-screen{position:fixed;inset:0;z-index:999;background:linear-gradient(145deg,#fff 0%,#fff 60%,#f5f5f5 100%);display:grid;place-items:center}
.splash-card{text-align:center;padding:30px}.splash-logo{width:min(320px,75vw);margin:auto}.splash-card p{color:var(--muted);font-size:13px;margin-top:20px}
.loader{width:180px;height:4px;background:#eee;border-radius:10px;overflow:hidden;margin:28px auto 0}.loader span{display:block;width:55%;height:100%;background:var(--red);animation:load 1.15s ease-in-out infinite}@keyframes load{0%{transform:translateX(-110%)}100%{transform:translateX(340%)}}
.login-view{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;padding:40px 7vw;background:radial-gradient(circle at 20% 20%,#fff 0,#fff 35%,#f6f7f8 80%)}
.login-brand{padding-right:8vw}.login-brand img{width:min(420px,75%)}.login-brand span{display:block;margin-top:20px;font-size:15px;color:var(--muted);letter-spacing:.04em}
.login-card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:42px;box-shadow:var(--shadow);max-width:470px;width:100%;justify-self:end}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.16em;color:var(--red)}.login-heading h1{font-size:34px;margin:8px 0}.login-heading p{color:var(--muted);margin:0 0 30px;font-size:14px}
label{display:block;font-size:12px;font-weight:700;margin:18px 0;color:#3d4044}.input-wrap{display:flex;align-items:center;border:1px solid #dfe1e4;border-radius:12px;margin-top:8px;height:50px;background:#fff}.input-wrap:focus-within{border-color:var(--red);box-shadow:0 0 0 3px rgba(215,25,32,.08)}.input-icon{width:42px;text-align:center;color:#9a9da1}.input-wrap input{border:0;outline:0;width:100%;height:100%;background:transparent}.password-toggle{font-size:11px;color:var(--red);font-weight:700;padding:10px}.primary-btn{height:50px;border-radius:12px;background:var(--red);color:#fff;font-weight:800;box-shadow:0 8px 18px rgba(215,25,32,.18);display:flex;align-items:center;justify-content:center;gap:16px;padding:0 22px}.primary-btn:hover{background:var(--red-dark)}.primary-btn b{font-size:18px}.secondary-btn{height:50px;border-radius:12px;background:#fff;color:#17181a;font-weight:800;border:1px solid var(--line);box-shadow:none;display:flex;align-items:center;justify-content:center;padding:0 22px}.secondary-btn:hover{background:#f6f7f8}.modal-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end;margin-top:24px}.modal-actions button{min-width:110px}.full{width:100%}.form-error{font-size:12px;color:var(--red);min-height:18px;margin:5px 0 10px}
.app-shell{min-height:100vh}.sidebar{position:fixed;z-index:40;left:0;top:0;bottom:0;width:270px;background:#17181a;color:#fff;padding:24px 16px;display:flex;flex-direction:column}.sidebar-brand{padding:4px 8px 24px;border-bottom:1px solid rgba(255,255,255,.09);display:flex;align-items:center;justify-content:space-between}.sidebar-brand img{width:175px;}.profile-mini{display:flex;gap:11px;align-items:center;padding:20px 10px}.avatar{width:42px;height:42px;border-radius:50%;background:var(--red);display:grid;place-items:center;font-weight:900;color:#fff}.avatar.small{width:36px;height:36px;font-size:12px}.profile-mini strong{font-size:13px;display:block}.profile-mini small{font-size:10px;color:#a8aaae;display:block;margin-top:3px}.side-nav{display:grid;gap:5px}.side-nav button,.side-nav a,.sidebar-bottom button{color:#bfc1c5;text-align:left;padding:13px 12px;border-radius:11px;font-size:12px;font-weight:700;display:flex;align-items:center;gap:12px;text-decoration:none}.side-nav button:hover,.side-nav a:hover,.side-nav button.active,.side-nav a.active{background:#2a2b2e;color:#fff}.side-nav button.active,.side-nav a.active{box-shadow:inset 3px 0 0 var(--red)}.nav-icon{width:20px;text-align:center;font-size:17px}.sidebar-bottom{margin-top:auto;border-top:1px solid rgba(255,255,255,.09);padding-top:12px}.sidebar-bottom button:hover{background:#2a2b2e;color:#fff}.logout-link{color:#ff989c!important}.sidebar-footer{font-size:8px;letter-spacing:.15em;color:#666a70;padding:15px 10px 0}.close-btn{display:none!important}
.main-content{margin-left:270px;min-height:100vh}.topbar{height:76px;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px;position:sticky;top:0;z-index:20}.topbar-left{display:flex;align-items:center;gap:16px}.topbar-kicker{font-size:12px;letter-spacing:.15em;color:#96999e;font-weight:800}.topbar-title{font-weight:800;font-size:14px;margin-top:2px}.topbar-right{display:flex;align-items:center;gap:18px}.top-user{display:flex;align-items:center;gap:9px}.top-user-text strong,.top-user-text small{display:block}.top-user-text strong{font-size:11px}.top-user-text small{font-size:9px;color:var(--muted);margin-top:2px}.notification{position:relative;color:#6f7277;font-size:18px}.notification i{position:absolute;width:6px;height:6px;background:var(--red);border:2px solid #fff;border-radius:50%;top:1px;right:0}.menu-btn{display:none}.page{padding:30px 34px 50px;max-width:1400px;margin:auto}.hero{border-radius:24px;background:linear-gradient(120deg,#17181a,#292a2d);color:#fff;padding:30px 32px;display:flex;align-items:center;justify-content:space-between;overflow:hidden;position:relative}.hero:after{content:"";position:absolute;width:300px;height:300px;border:1px solid rgba(255,255,255,.07);border-radius:50%;right:-80px;top:-120px}.hero h1{font-size:28px;margin:7px 0}.hero p{margin:0;color:#c1c3c7;font-size:12px}.hero p strong{color:#fff}.hero .eyebrow{color:#ff6b70}.hero-badge{z-index:1;border:1px solid rgba(255,255,255,.15);border-radius:30px;padding:9px 13px;font-size:10px;color:#ddd;display:flex;align-items:center;gap:7px}.pulse{width:7px;height:7px;background:#40d49f;border-radius:50%;box-shadow:0 0 0 5px rgba(64,212,159,.1)}
.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0 30px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 5px 18px rgba(0,0,0,.025)}.stat-label{font-size:10px;color:var(--muted);font-weight:700}.stat-card strong{display:block;font-size:26px;margin:5px 0}.stat-card small{font-size:9px;color:#a0a3a7}.section-heading{display:flex;justify-content:space-between;align-items:end;margin:8px 0 15px}.section-heading h2{font-size:20px;margin:5px 0}.action-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.action-card{min-height:115px;background:#fff;border:1px solid var(--line);border-radius:17px;padding:18px;display:grid;grid-template-columns:48px 1fr 20px;align-items:center;gap:14px;text-align:left;transition:.18s;box-shadow:0 5px 18px rgba(0,0,0,.025)}.action-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:#ddd}.action-card .action-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;font-size:22px}.action-card strong{display:block;font-size:13px}.action-card small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.action-card b{color:#999}a.action-card,a.back-btn{color:inherit;text-decoration:none}.pending .action-icon{background:#fff4e1;color:var(--amber)}.process .action-icon{background:#eaf3ff;color:var(--blue)}.finished .action-icon{background:#e8f8f1;color:var(--green)}.transfer .action-icon{background:#f1ecff;color:#7b52c7}.recent-panel{margin-top:32px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px}.compact{margin:0 0 10px}.compact h2{font-size:16px}.text-btn{color:var(--red);font-size:10px;font-weight:800}.recent-list{display:grid}.recent-item{display:grid;grid-template-columns:40px 1fr auto;gap:11px;align-items:center;padding:12px 2px;border-top:1px solid #f0f1f2}.recent-dot{width:38px;height:38px;border-radius:11px;background:#faf0f0;color:var(--red);display:grid;place-items:center}.recent-item strong{font-size:11px}.recent-item small{display:block;color:var(--muted);font-size:9px;margin-top:3px}.recent-item time{font-size:9px;color:#999}
.material-header{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:14px;margin:0 0 12px}.material-header-title-wrap{display:flex;align-items:center}.material-header h1{font-size:24px;line-height:1.2;margin:0;font-weight:900;letter-spacing:-.02em}.material-header p{font-size:11px;color:var(--muted);margin:0}.material-toolbar{display:flex;justify-content:flex-start;align-items:center;margin:0 0 14px;padding:0}.material-search-label{display:block;margin:0}.material-search-input{display:block;width:min(360px,85vw);height:38px;padding:9px 12px;border:1px solid #dfe7f5;border-radius:10px;background:#fff;font-size:13px;color:#0f172a;box-sizing:border-box;outline:none}.material-search-input::placeholder{color:#8a8f98}.material-search-input:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(215,25,32,.08)}.back-btn,.refresh-btn{border:1px solid var(--line);background:#fff;border-radius:10px;padding:0;width:36px;height:36px;font-size:18px;line-height:1;font-weight:700;display:grid;place-items:center}.back-btn:hover,.refresh-btn:hover{border-color:#cfd1d4}.refresh-btn{color:var(--red)}.toolbar{display:flex;gap:10px;margin-bottom:18px}.search-box{flex:1;display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:11px;padding:0 12px;height:44px}.search-box span{font-size:19px;color:#999}.search-box input{width:100%;border:0;outline:0;font-size:11px}.toolbar select{height:44px;border:1px solid var(--line);background:#fff;border-radius:11px;padding:0 12px;font-size:11px;color:#555;outline:0}.material-list{display:grid;gap:12px}.day-group{display:grid;gap:8px}.day-label{font-size:10px;letter-spacing:.12em;font-weight:900;color:#777;text-transform:uppercase}.material-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 12px 10px;box-shadow:0 4px 16px rgba(0,0,0,.02)}.material-top{display:flex;justify-content:space-between;gap:10px;align-items:start}.material-code{font-size:14px;font-weight:900}.material-code-compact{font-size:12px;line-height:1.35;letter-spacing:.01em}.rm-info{color:#c0392b}.rm-link,.rm-id-link{background:none;border:none;padding:0;margin:0;text-align:left;font:inherit;cursor:pointer;color:#c0392b;font-weight:700}.rm-id-link{display:inline-block;margin-top:6px;color:#2d6cdf;font-size:11px}.material-divider{margin:10px 0;border:0;border-top:1px solid rgba(23,24,26,.08)}.material-sub{font-size:11px;color:#d87a76;margin-top:4px;line-height:1.35}.status{padding:4px 7px;border-radius:16px;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.status.pending{background:#fff4e1;color:#b26a00}.status.inprocess{background:#eaf3ff;color:#2865b8}.status.finished{background:#e8f8f1;color:#0b7b55}.status.transfer{background:#f1ecff;color:#7045b9}.material-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0 0;padding-top:10px;border-top:1px solid #f0f1f2}.material-meta-compact{grid-template-columns:repeat(3,minmax(0,1fr));}.meta{background:#fafafb;border:1px solid #eef0f2;border-radius:10px;padding:7px 8px;min-height:52px;display:flex;flex-direction:column;justify-content:center}.meta span{display:block;font-size:8px;color:#9a9da1;text-transform:uppercase;letter-spacing:.05em}.meta strong{display:block;font-size:16px;line-height:1.3;margin-top:3px;overflow-wrap:anywhere}.meta-emphasis{background:#fff5f4;border-color:#f7d9d7}.meta-emphasis strong{color:var(--red)}.work-order-meta{grid-column:1 / -1}.empty-state{text-align:center;padding:70px 20px;color:#777}.empty-state div{width:50px;height:50px;border-radius:50%;background:#e8f8f1;color:var(--green);display:grid;place-items:center;margin:auto;font-weight:900}.empty-state h3{font-size:15px;color:#333;margin:12px 0 5px}.empty-state p{font-size:11px}
.transfer-summary{background:#fff5f4;border:1px solid #f7d9d7;border-radius:10px;padding:10px 12px;margin-top:12px}
.transfer-summary-total{font-size:12px;font-weight:700;color:var(--red)}
.transfer-summary-total strong{font-size:15px;font-weight:900}
.transfer-summary-dates{list-style:none;margin:8px 0 0;padding:8px 0 0;border-top:1px solid rgba(215,25,32,.12);display:grid;gap:5px}
.transfer-summary-dates li{display:flex;align-items:center;gap:8px;font-size:11px;color:#7a4a48}
.transfer-summary-dates li span:first-child{font-weight:700;color:#5a3634;min-width:88px}
.transfer-summary-dates li span:last-child{margin-left:auto;font-weight:700;color:#5a3634}
.material-toolbar{flex-wrap:wrap;gap:12px}
.source-filter{display:flex;gap:4px;background:#eef0f2;border-radius:10px;padding:3px}
.source-filter label{display:flex;align-items:center;gap:5px;margin:0;padding:7px 11px;border-radius:8px;font-size:10px;font-weight:700;color:#666a70;cursor:pointer;white-space:nowrap}
.source-filter input{position:absolute;opacity:0;width:0;height:0}
.source-filter label:has(input:checked),.source-filter label.active{background:#fff;color:var(--red);box-shadow:0 2px 6px rgba(0,0,0,.08)}
.source-group.hidden{display:none}
.source-divider{margin:16px 0;border:0;border-top:1px solid #e8e9eb}
.source-divider.hidden{display:none}
.source-label{font-size:9px;letter-spacing:.1em;font-weight:900;color:#96999e;text-transform:uppercase;margin:0 0 8px}
@media(max-width:560px){.source-filter{width:100%}.source-filter label{flex:1;justify-content:center}}
.source-group{display:grid;gap:12px}
.cutting-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0 0;padding-top:10px;border-top:1px solid #f0f1f2}
.cutting-meta .meta{min-height:60px}
.cutting-meta .meta-full{grid-column:1 / -1}
.overlay{display:none}.modal-backdrop{position:fixed;inset:0;background:rgba(10,10,10,.45);z-index:100;display:grid;place-items:center;padding:20px}.modal-card{background:#fff;border-radius:20px;padding:28px;width:min(430px,100%);position:relative;box-shadow:0 20px 60px rgba(0,0,0,.2)}.modal-card h2{margin:6px 0;font-size:22px}.modal-card>p{color:var(--muted);font-size:11px;margin:0 0 20px}.modal-card label{font-size:11px}.modal-card input{display:block;width:100%;height:44px;border:1px solid #ddd;border-radius:10px;padding:0 12px;margin-top:7px;outline:0;font-size:11px}.modal-card input:focus{border-color:var(--red)}.modal-close{position:absolute;right:14px;top:12px;font-size:25px;color:#888}.toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%,20px);opacity:0;z-index:200;background:#17181a;color:#fff;border-radius:11px;padding:11px 15px;font-size:11px;box-shadow:var(--shadow);transition:.2s;pointer-events:none}.toast.show{opacity:1;transform:translate(-50%,0)}
@media (max-width:560px){.modal-backdrop{padding:16px}.modal-card{padding:20px 18px 18px;border-radius:16px;width:min(100%, 340px)}.modal-card h2{font-size:18px;margin:4px 0}.modal-card>p{font-size:10px;line-height:1.5;margin-bottom:16px}.modal-actions{margin-top:18px;gap:10px}.modal-actions button{flex:1 1 100%;min-width:0;height:42px;font-size:11px}.modal-close{right:12px;top:10px;font-size:22px}}
.stock-yard-wrap{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 5px 18px rgba(0,0,0,.025)}
.stock-yard-table{width:100%;border-collapse:collapse;border:1px solid #dfe3e7;table-layout:fixed;font-size:11px;color:#1c1f22}
.stock-yard-table thead th{background:#2f3439;color:#fff;padding:9px 8px;border:1px solid #2f3439;text-align:left;font-size:10px;font-weight:800;letter-spacing:.02em;overflow-wrap:break-word}
.stock-yard-table tbody td{padding:9px 8px;border:1px solid #e3e7ea;vertical-align:top;line-height:1.35;text-align:left;overflow-wrap:break-word;word-break:break-word;background:#fff}
.stock-yard-table tbody tr:nth-child(even) td{background:#fbfbfc}
.stock-yard-table .col-item{width:57%}
.stock-yard-table .col-rack{width:20%;text-align:center}
.stock-yard-table .col-qty{width:22%;text-align:right}
.stock-yard-table tbody td.col-qty{font-weight:800;color:var(--green)}
.stock-yard-table .item-code{font-size:11px;font-weight:700}
.stock-yard-table .item-name{font-size:10px;color:#5a5f66;margin-top:2px}
@media (max-width:560px){.stock-yard-wrap{border-radius:10px}.stock-yard-table{font-size:10px}.stock-yard-table thead th,.stock-yard-table tbody td{padding:7px 6px}.stock-yard-table .item-code{font-size:10px}.stock-yard-table .item-name{font-size:9px}}
@media(max-width:900px){.sidebar{transform:translateX(-102%);transition:.25s;width:280px;box-shadow:20px 0 50px rgba(0,0,0,.15)}.sidebar.open{transform:translateX(0)}.close-btn{display:block!important;color:#aaa;font-size:24px}.main-content{margin-left:0}.menu-btn{display:grid;gap:4px;padding:8px}.menu-btn span{display:block;width:20px;height:2px;background:#333;border-radius:3px}.overlay{position:fixed;inset:0;background:rgba(0,0,0,.38);z-index:30}.overlay.show{display:block}.topbar{padding:0 18px}.top-user-text{display:none}.page{padding:22px 18px 40px}.stat-row{grid-template-columns:repeat(2,1fr)}.login-view{grid-template-columns:1fr;padding:30px 18px}.login-brand{padding:0;text-align:center}.login-brand img{width:min(300px,75%);margin:auto}.login-card{justify-self:center;margin-top:28px;padding:30px}.action-grid{grid-template-columns:1fr}}
.action-grid{grid-template-columns:1fr}}@media(max-width:820px){.material-header{grid-template-columns:auto 1fr;gap:14px}.material-header .refresh-btn{justify-self:start}.material-meta{grid-template-columns:repeat(2,1fr)}.page{padding:24px 18px 38px}.hero{flex-direction:column;align-items:flex-start;gap:18px}.hero:after{right:-30px;top:-90px;width:220px;height:220px}.topbar{padding:0 16px}.topbar-right{gap:12px}.section-heading{flex-direction:column;align-items:flex-start;gap:10px}}@media(max-width:560px){.topbar{height:66px}.notification{display:none}.hero{padding:22px 20px;border-radius:18px}.hero h1{font-size:23px}.hero-badge{display:none}.stat-row{gap:9px;margin:12px 0 23px}.stat-card{padding:13px;border-radius:13px}.stat-card strong{font-size:22px}.action-card{min-height:96px;grid-template-columns:42px 1fr 14px;padding:14px;border-radius:14px}.action-card .action-icon{width:42px;height:42px;border-radius:12px;font-size:18px}.action-card strong{font-size:12px}.action-card small{font-size:9px}.recent-panel{padding:15px}.material-header{grid-template-columns:auto 1fr;gap:10px}.material-header .refresh-btn{grid-column:2;justify-self:start}.material-header h1{font-size:22px}.back-btn span{display:none}.toolbar{flex-direction:column}.toolbar select{width:100%}.material-meta{grid-template-columns:1fr 1fr}.material-meta .meta:last-child{grid-column:1/-1}.login-card{padding:24px}.splash-logo{width:260px}}
@media(min-width:901px){.sidebar{transform:none!important}}
