/* My Filaments — warm orange, ink and porcelain. */
:root{--sidebar-width:264px;--ink:#172133;--muted:#697487;--accent:#e75a16;--accent-dark:#bd4210;--accent-soft:#fff0e7;--line:#e5e8ed;--surface:#fff;--body-bg:#f5f6f8;--bs-primary:#e75a16;--bs-primary-rgb:231,90,22;--bs-link-color:#bd4210;--bs-link-hover-color:#92330c;--bs-border-color:#e5e8ed;--bs-body-color:#172133;--bs-body-font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--bs-border-radius:.75rem;--bs-border-radius-lg:1rem}
*{box-sizing:border-box}body{margin:0;background:var(--body-bg);color:var(--ink);font-family:var(--bs-body-font-family);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased}a{transition:color .16s,background .16s}button,input,select,textarea{font:inherit}h1,h2,h3,h4,h5,h6{color:var(--ink);letter-spacing:-.025em;font-weight:650}h5{font-size:17px}::selection{background:#ffdbc6;color:#172133}:focus-visible{outline:3px solid #e75a16;outline-offset:3px}.app-wrapper{min-height:100vh}
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-width);height:100dvh;background:#121b2a;color:#a7b2c3;display:flex;flex-direction:column;z-index:1040;border-right:1px solid #253044}.sidebar-brand{display:flex;align-items:center;min-height:115px;padding:24px 22px;border-bottom:1px solid #ffffff0d;text-decoration:none}.logo-lockup{display:block;width:220px;aspect-ratio:3.45;background:url('../img/myfilaments-logo.png') right center/165% auto no-repeat}.sidebar-brand .logo-lockup{width:100%}.sidebar-close{display:none}.sidebar-nav{flex:1;overflow-y:auto;padding:26px 16px}.nav-title{font-size:10px;letter-spacing:1.7px;font-weight:700;color:#91a0b6;margin:0 14px 12px}.sidebar-link{display:flex;align-items:center;gap:12px;min-height:47px;padding:11px 14px;margin-bottom:6px;border:1px solid transparent;border-radius:11px;color:#b3bed0;text-decoration:none;font-weight:500;font-size:13px}.sidebar-link i{font-size:18px;width:21px;text-align:center}@media (hover:hover) and (pointer:fine){.sidebar-link:hover{color:#fff;background:#ffffff08}}.sidebar-link.active{color:#ffb07a;background:#e75a161b;border-color:#f37c3633}.sidebar-link.active:after{content:"";width:5px;height:5px;border-radius:50%;background:#ff924d;margin-left:auto}.sidebar-user{display:flex;align-items:center;gap:10px;padding:20px 18px;border-top:1px solid #ffffff0d;background:#0d15221f}.user-avatar{display:grid;place-items:center;flex-shrink:0;width:37px;height:37px;background:#344154;color:#fff;border:1px solid #526077;border-radius:12px;font-weight:700}.user-info{flex:1;min-width:0}.user-name{font-size:12px;font-weight:600;color:#f4f6fa;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-email{font-size:10px;color:#a0aec3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logout-button{color:#a0aec3;font-size:18px;padding:8px}@media (hover:hover) and (pointer:fine){.logout-button:hover{color:#fff}}
.main-content{margin-left:var(--sidebar-width);min-height:100vh}.workspace-header{height:76px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 38px;background:#ffffffd9;border-bottom:1px solid var(--line)}.workspace-caption{font-size:12px;font-weight:500;color:var(--muted);display:flex;align-items:center;gap:10px}.workspace-caption i{color:var(--accent);font-size:17px}.workspace-caption span+span:before{content:"/";color:#c4cad3;margin-right:10px}.workspace-account{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--muted);text-decoration:none}.workspace-account i{font-size:20px;color:var(--ink)}.mobile-header{display:none}.content-container{padding:34px 38px 48px;max-width:1800px;margin:auto}.page-header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.page-title{font-size:29px;line-height:1.25;font-weight:700;letter-spacing:-1px;margin:0}.page-description{margin-top:7px;font-size:13px;color:var(--muted)}.page-header>.d-flex{flex-wrap:wrap}.section-eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:1.8px;font-weight:700;color:var(--accent-dark);margin-bottom:10px}.app-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 3px 14px #1c2c441f;box-shadow:0 3px 14px #1c2c4405}.app-card .border-bottom{border-color:var(--line)!important}.app-card>.list-group:last-child{border-radius:0 0 16px 16px;overflow:hidden}.app-card h5{font-weight:650}.app-card .fs-2.fw-bold{font-size:30px!important;letter-spacing:-1px;font-variant-numeric:tabular-nums}.stat-card{position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;left:24px;right:24px;top:0;height:3px;background:var(--stat-color,#ed762e);border-radius:0 0 5px 5px}.stat-card:nth-child(2){--stat-color:#26888a}.stat-icon{background:var(--accent-soft)!important;color:var(--accent-dark);border-radius:12px!important}.stat-teal{--stat-color:#26888a}.stat-teal .stat-icon{background:#e9f6f5!important;color:#216e70}.stat-violet{--stat-color:#7d6bb4}.stat-violet .stat-icon{background:#f0edfa!important;color:#705d9f}.stat-amber{--stat-color:#d6a338}.stat-amber .stat-icon{background:#fff7e4!important;color:#936c12}
.inventory-banner{display:flex;justify-content:space-between;align-items:center;gap:26px;padding:27px 30px;background:#172336;border:1px solid #2c3a50;border-radius:18px;margin-bottom:26px;position:relative;overflow:hidden}.inventory-banner:after{content:"";position:absolute;right:45px;top:-75px;width:240px;height:240px;border:38px solid #ffffff04;border-radius:50%;pointer-events:none}.inventory-banner .section-eyebrow{color:#ffac73}.inventory-banner h2{color:#fff;font-size:23px;margin:0 0 8px}.inventory-banner p{color:#b1bdcf;font-size:13px;margin:0;max-width:560px}.banner-link{color:#fff;text-decoration:none;border:1px solid #ffffff35;padding:10px 16px;border-radius:10px;white-space:nowrap;position:relative;z-index:1;font-size:12px}@media (hover:hover) and (pointer:fine){.banner-link:hover{background:#ffffff10;color:white}}
.btn{font-size:13px;font-weight:600;line-height:1.6;padding:10px 16px;border-radius:9px;transition:background .16s,box-shadow .16s,transform .16s}.btn:active{transform:translateY(1px)}.btn-primary{--bs-btn-bg:var(--accent);--bs-btn-border-color:var(--accent);--bs-btn-hover-bg:var(--accent-dark);--bs-btn-hover-border-color:var(--accent-dark);--bs-btn-active-bg:var(--accent-dark);--bs-btn-active-border-color:var(--accent-dark);--bs-btn-disabled-bg:#c17a57;--bs-btn-disabled-border-color:#c17a57;--bs-btn-focus-shadow-rgb:231,90,22;box-shadow:0 3px 6px #e75a161a}.btn-outline-primary{--bs-btn-color:var(--accent-dark);--bs-btn-border-color:#efb594;--bs-btn-hover-bg:var(--accent-soft);--bs-btn-hover-color:var(--accent-dark);--bs-btn-hover-border-color:var(--accent);--bs-btn-active-bg:var(--accent-soft);--bs-btn-active-color:var(--accent-dark)}.btn-outline-secondary{--bs-btn-color:#536075;--bs-btn-border-color:#d8dee6;--bs-btn-hover-bg:#edf0f4;--bs-btn-hover-color:var(--ink);--bs-btn-hover-border-color:#bcc6d3;--bs-btn-active-bg:#e5e9f0;--bs-btn-active-color:var(--ink)}.btn-secondary{--bs-btn-bg:#eef1f5;--bs-btn-color:#455367;--bs-btn-border-color:#eef1f5;--bs-btn-hover-bg:#e1e6ee;--bs-btn-hover-color:var(--ink);--bs-btn-hover-border-color:#e1e6ee}.btn-light{background:#fff;border-color:var(--line);color:var(--ink)}.btn-sm{font-size:12px;padding:6px 10px;border-radius:7px}.btn-lg{font-size:14px;padding:12px 20px}.btn-group>.btn{box-shadow:none}.form-label{font-size:12px;font-weight:600;margin-bottom:8px;color:#455367}.form-control,.form-select{font-size:13px;min-height:44px;border-color:#dfe4eb;background-color:#fff;color:var(--ink);border-radius:9px;padding-top:10px;padding-bottom:10px}.form-control::placeholder{color:#8c97a7}.form-control:focus,.form-select:focus{border-color:#e99b72;box-shadow:0 0 0 3px #e75a1614}.form-control:disabled,.form-select:disabled{background:#f0f2f6}.form-control-color{padding:6px}.input-group-text{background:#f7f8fa;border-color:#dfe4eb;color:var(--muted);font-size:13px}.input-group .btn[data-catalog-kind]{min-width:45px;font-size:20px;line-height:1;padding:8px;background:var(--accent-soft);border-color:#efb594;color:var(--accent-dark)}.form-text{font-size:11px;color:var(--muted)}.form-check-input:checked{background-color:var(--accent);border-color:var(--accent)}.form-check-input:focus{border-color:#e99b72;box-shadow:0 0 0 3px #e75a1614}textarea.form-control{min-height:120px}
.table{--bs-table-color:var(--ink);--bs-table-border-color:#eef0f4;--bs-table-hover-bg:#fcf9f5;font-size:13px}.table>:not(caption)>*>*{padding:18px 16px}.table thead{--bs-table-bg:#f8f9fb}.table thead th{font-size:10px;letter-spacing:1px;text-transform:uppercase;font-weight:650;color:#748094;padding-top:14px;padding-bottom:14px;white-space:nowrap;border-bottom:1px solid var(--line)}.table tbody tr:last-child td{border-bottom:0}.table td strong{font-weight:650}.table .small{font-size:11px}.progress{background:#edf0f4;border-radius:10px;overflow:hidden}.progress-bar{background:var(--accent);border-radius:10px}.badge{font-size:10px;letter-spacing:.15px;font-weight:600;padding:6px 9px;border-radius:6px}.badge.bg-success{background:#e9f5ef!important;color:#247048!important}.badge.bg-primary{background:#eaf1fb!important;color:#3a67a2!important}.badge.bg-warning{background:#fff4df!important;color:#8c6417!important}.badge.bg-secondary{background:#edf0f5!important;color:#59667a!important}.badge.bg-danger{background:#fbecec!important;color:#a13b3b!important}.alert{border-radius:11px;font-size:13px;padding:13px 16px}.alert-danger{background:#fff0ef;border-color:#f4d0cd;color:#a4372f}.alert-success{background:#edf8f1;border-color:#cde7d6;color:#2a6944}.list-group-item{border-color:var(--line);font-size:13px}@media (hover:hover) and (pointer:fine){.list-group-item-action:hover{background:#fcf9f5}}.text-muted{color:var(--muted)!important}.modal-content{border:1px solid #e8ebef;border-radius:18px;box-shadow:0 28px 100px #111b2c30;overflow:hidden}.modal-header{padding:22px 24px;background:#fafbfc;border-bottom:1px solid var(--line)}.modal-title{font-size:19px;font-weight:650}.modal-body{padding:24px}.modal-footer{padding:16px 24px;background:#fafbfc;border-top:1px solid var(--line)}.modal-backdrop{--bs-backdrop-opacity:.55}.modal-dialog{margin:10vh auto}.btn-close{font-size:12px}.nav-tabs{border-color:var(--line)}.nav-tabs .nav-link{color:var(--muted);border-radius:10px 10px 0 0}.nav-tabs .nav-link.active{color:var(--accent-dark);font-weight:600}.pagination{--bs-pagination-active-bg:var(--accent);--bs-pagination-active-border-color:var(--accent)}.sidebar-backdrop{display:none}
/* Standalone account pages share the same design tokens. */
.auth-page{background:#f5f6f8!important;min-height:100dvh;display:grid;grid-template-columns:minmax(360px,44%) 1fr}.auth-story{position:sticky;top:0;height:100dvh;background:#121b2a;color:#aebacf;padding:42px 11%;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.auth-story:after{content:"";position:absolute;right:-130px;bottom:80px;width:500px;height:500px;border:70px solid #ffffff03;border-radius:50%;pointer-events:none}.auth-story .logo-lockup{width:min(100%,310px)}.auth-story h1{color:#fff;font-size:clamp(30px,3.2vw,49px);line-height:1.15;letter-spacing:-1.6px;margin:24px 0}.auth-story h1 span{color:#ff9b58}.auth-story p{font-size:15px;line-height:1.9;max-width:340px}.auth-story .section-eyebrow{color:#ffab72}.auth-story-footer{font-size:11px;color:#8f9eb4}.auth-page>.container{max-width:580px;padding:55px 48px;align-self:center}.auth-page>.container>.row{display:block;margin:0}.auth-page>.container>.row>[class*="col-"]{width:100%;padding:0}.auth-page .card{margin:0!important;background:transparent;box-shadow:none!important;border:0!important}.auth-page .card-body{padding:0!important}.auth-page .card h3{font-size:28px;text-align:left!important;font-weight:700;letter-spacing:-.7px}.auth-page .card h3+p{text-align:left!important;margin-top:8px}.auth-page .card form{margin-top:30px}.auth-page .card .btn.w-100{min-height:46px}.auth-page hr{border-color:#a9b1bd;margin:26px 0}.auth-mobile-logo{display:none}.auth-page .text-center.my-3{font-size:10px;letter-spacing:2px;margin:22px 0!important}.auth-page .btn-outline-dark{border-color:#dfe4eb;background:#fff;color:#3c4859}@media (hover:hover) and (pointer:fine){.auth-page .btn-outline-dark:hover{background:#eef1f5}}.auth-page .text-center:last-child{font-size:12px;color:var(--muted)}
@media(min-width:1600px){.content-container{padding-top:42px}.page-title{font-size:32px}}
@media(max-width:1199px){:root{--sidebar-width:236px}.content-container{padding:28px}.workspace-header{padding:0 28px}.sidebar-brand{padding:23px 18px}.inventory-banner{padding:24px}.page-title{font-size:27px}}
@media(max-width:991px){.sidebar{transform:translateX(-100%);transition:transform .22s;z-index:1045;width:264px}.sidebar.show{transform:translateX(0)}.sidebar-close{display:block;position:absolute;right:8px;top:7px;background:transparent;border:0;color:#b9c4d5;padding:5px 9px;font-size:20px}.sidebar-brand{padding-right:28px}.main-content{margin-left:0}.workspace-header{display:none}.mobile-header{height:70px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 20px;background:#fff;border-bottom:1px solid var(--line)}.mobile-header strong{font-size:15px}.mobile-brand-dot{color:var(--accent);margin-right:3px}.sidebar-backdrop.show{display:block;position:fixed;inset:0;background:#0a152580;z-index:1044}.content-container{padding:26px 22px 38px}.auth-page{grid-template-columns:38% 1fr}.auth-story{padding:36px 28px}.auth-story h1{font-size:32px}.auth-story p{font-size:13px}.auth-page>.container{padding:40px 32px}.inventory-banner h2{font-size:21px}}
@media(max-width:575px){body{font-size:13px}.content-container{padding:24px 16px 32px}.page-header{align-items:flex-start;flex-wrap:wrap;gap:16px;margin-bottom:22px}.page-header>.btn{padding:8px 12px;font-size:12px}.page-title{font-size:25px;letter-spacing:-.8px}.page-description{font-size:12px}.page-header .d-flex{gap:8px!important}.app-card.p-4,.app-card>.p-4{padding:20px!important}.inventory-banner{padding:23px;align-items:flex-start;flex-direction:column;gap:18px}.inventory-banner p{font-size:12px}.inventory-banner h2{font-size:21px}.table>:not(caption)>*>*{padding:14px 12px}.table{white-space:nowrap}.table td .small{white-space:normal;min-width:90px}.modal-dialog{margin:24px 12px}.modal-body{padding:20px}.modal-header{padding:18px 20px}.modal-footer{padding:14px 20px}.auth-page{display:block}.auth-story{display:none}.auth-page>.container{padding:38px 24px;max-width:480px}.auth-mobile-logo{display:block;background:#121b2a;border-radius:14px;padding:12px 18px;margin-bottom:35px}.auth-mobile-logo .logo-lockup{margin:auto;width:220px}.auth-page .card h3{font-size:26px}.row.g-4{--bs-gutter-y:1rem;--bs-gutter-x:1rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}
@media print{.sidebar,.workspace-header,.mobile-header,.sidebar-backdrop{display:none!important}.main-content{margin:0}.content-container{padding:0}.app-card{box-shadow:none}body{background:#fff}}

/* Keep touch form text legible and avoid automatic input zoom. */
@media (max-width:991px), (hover:none) and (pointer:coarse){
 input.form-control,textarea.form-control,select.form-select,.mf-select-button,.mf-select-search{font-size:16px}
}

/* Compact brand treatment for the mobile workspace header. */
.mobile-logo-link{display:flex;align-items:center;justify-content:center;flex:0 1 192px;max-width:calc(100% - 64px);min-width:0;min-height:54px;padding:4px 12px;border-radius:12px;background:#121b2a;text-decoration:none}
.mobile-logo-link .logo-lockup{width:168px;max-width:100%}
@media (max-width:991px), (hover:none) and (pointer:coarse){
 .auth-page input.form-control,.auth-page input.form-control:-webkit-autofill{font-size:16px!important;line-height:1.5}
}
