@charset "UTF-8";:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.login-page-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary-color),var(--info-color));padding:var(--spacing-lg)}.login-card{background-color:var(--bg-primary);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);padding:var(--spacing-xl);width:100%;max-width:500px;animation:fadeInUp .6s ease-out;position:relative}.loading-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius-lg);z-index:1000;background-color:transparent}.loading-overlay .loading-state{text-align:center;background-color:transparent;padding:0}.loading-overlay .loading-state .spinner{width:48px;height:48px;border-width:4px}.loading-overlay .loading-state p{margin-top:var(--spacing-md);color:var(--text-primary);font-weight:var(--font-weight-medium);display:none}.login-header{text-align:center;margin-bottom:var(--spacing-xl)}.login-header h1{font-size:2rem;font-weight:var(--font-weight-bold);color:var(--primary-color);margin-bottom:var(--spacing-sm)}.login-header p{color:var(--text-muted);font-size:var(--font-size-base)}.login-form,.form-group{margin-bottom:var(--spacing-lg)}.form-group label{display:block;font-weight:var(--font-weight-medium);color:var(--text-primary);margin-bottom:var(--spacing-xs);font-size:var(--font-size-sm)}.form-input{width:100%;padding:var(--spacing-md);border:2px solid var(--border-color);border-radius:var(--border-radius);font-size:var(--font-size-base);transition:all .3s ease;background-color:var(--bg-secondary);color:var(--text-primary)}.form-input:focus{outline:none;border-color:var(--primary-color);background-color:var(--bg-primary);box-shadow:0 0 0 3px #28a7451a;transform:translateY(-1px)}.form-input.error{border-color:var(--danger-color);background-color:#dc35450d}.form-input.error:focus{border-color:var(--danger-color);box-shadow:0 0 0 3px #dc35451a}.form-input::placeholder{color:var(--text-muted)}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.login-button{width:100%;padding:var(--spacing-md);background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));color:var(--text-white);border:none;border-radius:var(--border-radius);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.login-button:hover{background:linear-gradient(135deg,var(--primary-dark),var(--primary-color));transform:translateY(-2px);box-shadow:0 4px 12px #28a7454d}.login-button:active{transform:translateY(0)}.login-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.login-button:hover:before{left:100%}.login-footer{text-align:center;padding-top:var(--spacing-lg);border-top:1px solid var(--border-color)}.login-footer p{color:var(--text-muted);margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm)}.signup-button{background:transparent;color:var(--primary-color);border:2px solid var(--primary-color);border-radius:var(--border-radius);padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all .3s ease}.signup-button:hover{background-color:var(--primary-color);color:var(--text-white);transform:translateY(-1px);box-shadow:0 2px 8px #28a74533}.login-header p{color:var(--text-secondary);font-size:var(--font-size-sm)}.login-form{padding:0 var(--spacing-lg) var(--spacing-xl)}.login-form .form-group{margin-bottom:var(--spacing-lg)}.login-form .form-label{font-weight:var(--font-weight-medium);color:var(--text-primary)}.login-form .form-control{padding:var(--spacing-md);font-size:var(--font-size-base);border:2px solid var(--border-color);transition:var(--transition-base)}.login-form .form-control:focus{border-color:var(--primary-color);box-shadow:0 0 0 .2rem #007bff1a;transform:translateY(-1px)}.login-btn{width:100%;padding:var(--spacing-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);background:linear-gradient(45deg,var(--primary-color),color-mix(in srgb,var(--primary-color) 90%,var(--info-color) 10%));border:none;border-radius:var(--border-radius);color:var(--text-white);cursor:pointer;transition:var(--transition-base)}.login-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.login-btn:active{transform:translateY(0)}.login-error{margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background-color:#dc35451a;border:1px solid var(--danger-color);border-radius:var(--border-radius);color:var(--danger-color);font-size:var(--font-size-sm);text-align:center}.login-footer{padding:var(--spacing-md) var(--spacing-lg);text-align:center;background-color:var(--bg-secondary);border-top:1px solid var(--border-color)}.login-debug{margin-top:var(--spacing-lg);padding:var(--spacing-md);background-color:var(--bg-secondary);border-radius:var(--border-radius);border:1px dashed var(--border-color)}.login-debug h4{margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.login-debug .btn{margin-right:var(--spacing-sm);margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);padding:var(--spacing-xs) var(--spacing-sm)}@media (max-width: 480px){.login-page{padding:var(--spacing-sm)}.login-container{max-width:100%}.login-header{padding:var(--spacing-lg) var(--spacing-md) var(--spacing-md)}.login-form{padding:0 var(--spacing-md) var(--spacing-lg)}}.rbc-btn{color:inherit;font:inherit;margin:0}button.rbc-btn{overflow:visible;text-transform:none;-webkit-appearance:button;-moz-appearance:button;appearance:button;cursor:pointer}button[disabled].rbc-btn{cursor:not-allowed}button.rbc-input::-moz-focus-inner{border:0;padding:0}.rbc-calendar{-webkit-box-sizing:border-box;box-sizing:border-box;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.rbc-m-b-negative-3{margin-bottom:-3px}.rbc-h-full{height:100%}.rbc-calendar *,.rbc-calendar *:before,.rbc-calendar *:after{-webkit-box-sizing:inherit;box-sizing:inherit}.rbc-abs-full,.rbc-row-bg{overflow:hidden;position:absolute;inset:0}.rbc-ellipsis,.rbc-show-more,.rbc-row-segment .rbc-event-content,.rbc-event-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rbc-rtl{direction:rtl}.rbc-off-range{color:#999}.rbc-off-range-bg{background:#e6e6e6}.rbc-header{overflow:hidden;-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%;text-overflow:ellipsis;white-space:nowrap;padding:0 3px;text-align:center;vertical-align:middle;font-weight:700;font-size:90%;min-height:0;border-bottom:1px solid #ddd}.rbc-header+.rbc-header{border-left:1px solid #ddd}.rbc-rtl .rbc-header+.rbc-header{border-left-width:0;border-right:1px solid #ddd}.rbc-header>a,.rbc-header>a:active,.rbc-header>a:visited{color:inherit;text-decoration:none}.rbc-button-link{color:inherit;background:none;margin:0;padding:0;border:none;cursor:pointer;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.rbc-row-content{position:relative;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none;z-index:4}.rbc-row-content-scrollable{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:100%}.rbc-row-content-scrollable .rbc-row-content-scroll-container{height:100%;overflow-y:scroll;-ms-overflow-style:none;scrollbar-width:none}.rbc-row-content-scrollable .rbc-row-content-scroll-container::-webkit-scrollbar{display:none}.rbc-today{background-color:#eaf6ff}.rbc-toolbar{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:10px;font-size:16px}.rbc-toolbar .rbc-toolbar-label{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;padding:0 10px;text-align:center}.rbc-toolbar button{color:#373a3c;display:inline-block;margin:0;text-align:center;vertical-align:middle;background:none;background-image:none;border:1px solid #ccc;padding:.375rem 1rem;border-radius:4px;line-height:normal;white-space:nowrap}.rbc-toolbar button:active,.rbc-toolbar button.rbc-active{background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px #00000020;background-color:#e6e6e6;border-color:#adadad}.rbc-toolbar button:active:hover,.rbc-toolbar button:active:focus,.rbc-toolbar button.rbc-active:hover,.rbc-toolbar button.rbc-active:focus{color:#373a3c;background-color:#d4d4d4;border-color:#8c8c8c}.rbc-toolbar button:focus{color:#373a3c;background-color:#e6e6e6;border-color:#adadad}.rbc-toolbar button:hover{color:#373a3c;cursor:pointer;background-color:#e6e6e6;border-color:#adadad}.rbc-btn-group{display:inline-block;white-space:nowrap}.rbc-btn-group>button:first-child:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.rbc-btn-group>button:last-child:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.rbc-rtl .rbc-btn-group>button:first-child:not(:last-child){border-radius:0 4px 4px 0}.rbc-rtl .rbc-btn-group>button:last-child:not(:first-child){border-radius:4px 0 0 4px}.rbc-btn-group>button:not(:first-child):not(:last-child){border-radius:0}.rbc-btn-group button+button{margin-left:-1px}.rbc-rtl .rbc-btn-group button+button{margin-left:0;margin-right:-1px}.rbc-btn-group+.rbc-btn-group,.rbc-btn-group+button{margin-left:10px}@media (max-width: 767px){.rbc-toolbar{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.rbc-event,.rbc-day-slot .rbc-background-event{border:none;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-box-shadow:none;box-shadow:none;margin:0;padding:2px 5px;background-color:#3174ad;border-radius:5px;color:#fff;cursor:pointer;width:100%;text-align:left}.rbc-slot-selecting .rbc-event,.rbc-slot-selecting .rbc-day-slot .rbc-background-event,.rbc-day-slot .rbc-slot-selecting .rbc-background-event{cursor:inherit;pointer-events:none}.rbc-event.rbc-selected,.rbc-day-slot .rbc-selected.rbc-background-event{background-color:#265985}.rbc-event:focus,.rbc-day-slot .rbc-background-event:focus{outline:5px auto #3b99fc}.rbc-event-label{font-size:80%}.rbc-event-overlaps{-webkit-box-shadow:-1px 1px 5px 0px rgba(51,51,51,.5);box-shadow:-1px 1px 5px #33333380}.rbc-event-continues-prior{border-top-left-radius:0;border-bottom-left-radius:0}.rbc-event-continues-after{border-top-right-radius:0;border-bottom-right-radius:0}.rbc-event-continues-earlier{border-top-left-radius:0;border-top-right-radius:0}.rbc-event-continues-later{border-bottom-left-radius:0;border-bottom-right-radius:0}.rbc-row{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.rbc-row-segment{padding:0 1px 1px}.rbc-selected-cell{background-color:#0000001a}.rbc-show-more{background-color:#ffffff4d;z-index:4;font-weight:700;font-size:85%;height:auto;line-height:normal;color:#3174ad}.rbc-show-more:hover,.rbc-show-more:focus{color:#265985}.rbc-month-view{position:relative;border:1px solid #ddd;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;width:100%;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none;height:100%}.rbc-month-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.rbc-month-row{display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;-ms-flex-preferred-size:0px;flex-basis:0px;overflow:hidden;height:100%}.rbc-month-row+.rbc-month-row{border-top:1px solid #ddd}.rbc-date-cell{-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0;min-width:0;padding-right:5px;text-align:right}.rbc-date-cell.rbc-now{font-weight:700}.rbc-date-cell>a,.rbc-date-cell>a:active,.rbc-date-cell>a:visited{color:inherit;text-decoration:none}.rbc-row-bg{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;overflow:hidden;right:1px}.rbc-day-bg{-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%}.rbc-day-bg+.rbc-day-bg{border-left:1px solid #ddd}.rbc-rtl .rbc-day-bg+.rbc-day-bg{border-left-width:0;border-right:1px solid #ddd}.rbc-overlay{position:absolute;z-index:5;border:1px solid #e5e5e5;background-color:#fff;-webkit-box-shadow:0 5px 15px rgba(0,0,0,.25);box-shadow:0 5px 15px #00000040;padding:10px}.rbc-overlay>*+*{margin-top:1px}.rbc-overlay-header{border-bottom:1px solid #e5e5e5;margin:-10px -10px 5px;padding:2px 10px}.rbc-agenda-view{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;overflow:auto}.rbc-agenda-view table.rbc-agenda-table{width:100%;border:1px solid #ddd;border-spacing:0;border-collapse:collapse}.rbc-agenda-view table.rbc-agenda-table tbody>tr>td{padding:5px 10px;vertical-align:top}.rbc-agenda-view table.rbc-agenda-table .rbc-agenda-time-cell{padding-left:15px;padding-right:15px;text-transform:lowercase}.rbc-agenda-view table.rbc-agenda-table tbody>tr>td+td{border-left:1px solid #ddd}.rbc-rtl .rbc-agenda-view table.rbc-agenda-table tbody>tr>td+td{border-left-width:0;border-right:1px solid #ddd}.rbc-agenda-view table.rbc-agenda-table tbody>tr+tr{border-top:1px solid #ddd}.rbc-agenda-view table.rbc-agenda-table thead>tr>th{padding:3px 5px;text-align:left;border-bottom:1px solid #ddd}.rbc-rtl .rbc-agenda-view table.rbc-agenda-table thead>tr>th{text-align:right}.rbc-agenda-time-cell{text-transform:lowercase}.rbc-agenda-time-cell .rbc-continues-after:after{content:" »"}.rbc-agenda-time-cell .rbc-continues-prior:before{content:"« "}.rbc-agenda-date-cell,.rbc-agenda-time-cell{white-space:nowrap}.rbc-agenda-event-cell{width:100%}.rbc-time-column{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;min-height:100%}.rbc-time-column .rbc-timeslot-group{-webkit-box-flex:1;-ms-flex:1;flex:1}.rbc-timeslot-group{border-bottom:1px solid #ddd;min-height:40px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column nowrap;flex-flow:column nowrap}.rbc-time-gutter,.rbc-header-gutter{-webkit-box-flex:0;-ms-flex:none;flex:none}.rbc-label{padding:0 5px}.rbc-day-slot{position:relative}.rbc-day-slot .rbc-events-container{inset:0;position:absolute;margin-right:10px}.rbc-day-slot .rbc-events-container.rbc-rtl{left:10px;right:0}.rbc-day-slot .rbc-event,.rbc-day-slot .rbc-background-event{border:1px solid #265985;display:-webkit-box;display:-ms-flexbox;display:flex;max-height:100%;min-height:20px;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column wrap;flex-flow:column wrap;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;overflow:hidden;position:absolute}.rbc-day-slot .rbc-background-event{opacity:.75}.rbc-day-slot .rbc-event-label{-webkit-box-flex:0;-ms-flex:none;flex:none;padding-right:5px;width:auto}.rbc-day-slot .rbc-event-content{width:100%;-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0;word-wrap:break-word;line-height:1;height:100%;min-height:1em}.rbc-day-slot .rbc-time-slot{border-top:1px solid #f7f7f7}.rbc-time-view-resources .rbc-time-gutter,.rbc-time-view-resources .rbc-time-header-gutter{position:sticky;left:0;background-color:#fff;border-right:1px solid #ddd;z-index:10;margin-right:-1px}.rbc-time-view-resources .rbc-time-header{overflow:hidden}.rbc-time-view-resources .rbc-time-header-content{min-width:auto;-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;-ms-flex-preferred-size:0px;flex-basis:0px}.rbc-time-view-resources .rbc-time-header-cell-single-day{display:none}.rbc-time-view-resources .rbc-day-slot{min-width:140px}.rbc-time-view-resources .rbc-header,.rbc-time-view-resources .rbc-day-bg{width:140px;-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0;-ms-flex-preferred-size:0 px;flex-basis:0 px}.rbc-time-header-content+.rbc-time-header-content{margin-left:-1px}.rbc-time-slot{-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0}.rbc-time-slot.rbc-now{font-weight:700}.rbc-day-header{text-align:center}.rbc-slot-selection{z-index:10;position:absolute;background-color:#00000080;color:#fff;font-size:75%;width:100%;padding:3px}.rbc-slot-selecting{cursor:move}.rbc-time-view{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1;flex:1;width:100%;border:1px solid #ddd;min-height:0}.rbc-time-view .rbc-time-gutter{white-space:nowrap;text-align:right}.rbc-time-view .rbc-allday-cell{-webkit-box-sizing:content-box;box-sizing:content-box;width:100%;height:100%;position:relative}.rbc-time-view .rbc-allday-cell+.rbc-allday-cell{border-left:1px solid #ddd}.rbc-time-view .rbc-allday-events{position:relative;z-index:4}.rbc-time-view .rbc-row{-webkit-box-sizing:border-box;box-sizing:border-box;min-height:20px}.rbc-time-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.rbc-time-header.rbc-overflowing{border-right:1px solid #ddd}.rbc-rtl .rbc-time-header.rbc-overflowing{border-right-width:0;border-left:1px solid #ddd}.rbc-time-header>.rbc-row:first-child{border-bottom:1px solid #ddd}.rbc-time-header>.rbc-row.rbc-row-resource{border-bottom:1px solid #ddd}.rbc-time-header-cell-single-day{display:none}.rbc-time-header-content{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;min-width:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;border-left:1px solid #ddd}.rbc-rtl .rbc-time-header-content{border-left-width:0;border-right:1px solid #ddd}.rbc-time-header-content>.rbc-row.rbc-row-resource{border-bottom:1px solid #ddd;-ms-flex-negative:0;flex-shrink:0}.rbc-time-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;width:100%;border-top:2px solid #ddd;overflow-y:auto;position:relative}.rbc-time-content>.rbc-time-gutter{-webkit-box-flex:0;-ms-flex:none;flex:none}.rbc-time-content>*+*>*{border-left:1px solid #ddd}.rbc-rtl .rbc-time-content>*+*>*{border-left-width:0;border-right:1px solid #ddd}.rbc-time-content>.rbc-day-slot{width:100%;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}.rbc-current-time-indicator{position:absolute;z-index:3;left:0;right:0;height:1px;background-color:#74ad31;pointer-events:none}.rbc-resource-grouping.rbc-time-header-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.rbc-resource-grouping .rbc-row .rbc-header{width:141px}.home-page-content{max-width:1600px;width:95%;margin:1rem auto;animation:fadeInUp .6s ease-out;transition:var(--transition-base)}.calendar-container{background-color:var(--bg-primary);border-radius:var(--border-radius-lg);padding:20px;margin-bottom:var(--spacing-lg)}.calendar-wrapper{height:700px;min-height:600px}.custom-calendar-toolbar{display:flex;align-items:center;justify-content:center;gap:20px;padding:20px 0;margin-bottom:20px;border-bottom:2px solid var(--border-color)}.custom-calendar-toolbar .nav-button{color:#000;background-color:#fff;border:none;width:40px;height:40px;font-size:16px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.custom-calendar-toolbar .nav-button:hover{background-color:color-mix(in srgb,#f8f9fa 85%,black 15%);transform:scale(1.1)}.custom-calendar-toolbar .current-date{display:flex;align-items:center;gap:15px}.custom-calendar-toolbar .today-button{background-color:var(--secondary-color);color:#fff;border:none;border-radius:var(--border-radius);padding:8px 16px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.custom-calendar-toolbar .today-button:hover{background-color:color-mix(in srgb,var(--secondary-color) 85%,black 15%);transform:translateY(-2px)}.custom-calendar-toolbar .date-label{font-size:24px;font-weight:700;color:var(--text-primary);min-width:150px;text-align:center}@media screen and (min-width: 1025px){.main-content.with-sidebar .home-page-content{max-width:calc(var(--content-max-width-desktop) - var(--sidebar-width-desktop));width:95%}.main-content.without-sidebar .home-page-content{max-width:var(--content-max-width-desktop);width:90%}}@media screen and (min-width: 769px) and (max-width: 1024px){.main-content.with-sidebar .home-page-content{max-width:calc(var(--content-max-width-tablet) - var(--sidebar-width-tablet));width:95%}.main-content.without-sidebar .home-page-content{max-width:var(--content-max-width-tablet);width:90%}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.home-header{text-align:center;margin-bottom:var(--spacing-xl);padding:var(--spacing-xl);background:linear-gradient(135deg,var(--primary-color),var(--info-color));color:var(--text-white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow)}.home-header h1{font-size:2.5rem;font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-sm);text-shadow:0 2px 4px rgba(0,0,0,.3)}.home-header p{font-size:var(--font-size-lg);opacity:.9}.user-info-section{background-color:var(--bg-primary);border-radius:var(--border-radius-lg);box-shadow:var(--shadow);padding:var(--spacing-xl);margin-bottom:var(--spacing-lg);animation:fadeInUp .6s ease-out .2s both}.user-info-section h3{font-size:1.5rem;font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--primary-color)}.user-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.user-info-item{padding:var(--spacing-md);background-color:var(--bg-secondary);border-radius:var(--border-radius);border-left:4px solid var(--primary-color);transition:var(--transition-base)}.user-info-item:hover{transform:translate(5px);box-shadow:var(--shadow-sm)}.user-info-item strong{display:block;font-weight:var(--font-weight-bold);color:var(--text-secondary);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--spacing-xs)}.user-info-item span{font-size:var(--font-size-lg);color:var(--text-primary);font-weight:var(--font-weight-medium)}.user-data-details{margin-top:var(--spacing-lg);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);overflow:hidden;transition:all .3s ease}.user-data-details summary{cursor:pointer;font-weight:var(--font-weight-medium);color:var(--primary-color);padding:var(--spacing-md);background-color:var(--bg-secondary);border-radius:0;transition:all .3s ease;position:relative;display:flex;align-items:center;justify-content:space-between;list-style:none}.user-data-details summary::-webkit-details-marker{display:none}.user-data-details summary:after{content:"▼";font-size:.8rem;transition:transform .3s ease;color:var(--primary-color)}.user-data-details[open] summary:after{transform:rotate(180deg)}.user-data-details summary:hover{background-color:color-mix(in srgb,var(--primary-color) 15%,var(--bg-secondary) 85%);transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.user-data-details .details-content{max-height:0;overflow:hidden;transition:max-height .4s ease-out,padding .3s ease;padding:0 var(--spacing-md)}.user-data-details[open] .details-content{max-height:500px;padding:var(--spacing-md);animation:slideDown .4s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.user-data-details pre{margin:0;padding:var(--spacing-md);background-color:#f8f9fa;border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:var(--font-size-sm);overflow-x:auto;white-space:pre-wrap;line-height:1.5;color:var(--text-secondary);font-family:Courier New,Consolas,monospace}.action-buttons{display:flex;gap:var(--spacing-md);justify-content:center;flex-wrap:wrap}.action-buttons .btn{min-width:150px;font-weight:var(--font-weight-medium)}.btn-debug{background-color:var(--secondary-color);color:var(--text-white);border:1px solid var(--secondary-color)}.btn-debug:hover{background-color:color-mix(in srgb,var(--secondary-color) 90%,black 10%)}.loading-state{text-align:center;padding:var(--spacing-xl);animation:fadeInUp .4s ease-out}.loading-state .spinner{margin-bottom:var(--spacing-md);animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.7}}@media (max-width: 768px){.home-page-content{padding:0 var(--spacing-md);margin:.5rem auto 0;width:95%;max-width:none}.main-content.with-sidebar .home-page-content,.main-content.without-sidebar .home-page-content{width:95%;max-width:none}.home-header{padding:var(--spacing-md);margin-bottom:var(--spacing-lg)}.home-header h1{font-size:2rem}.user-info-section{padding:var(--spacing-md);margin-bottom:var(--spacing-md)}.user-info-grid{grid-template-columns:1fr;gap:var(--spacing-md)}.action-buttons{flex-direction:column;align-items:center}.action-buttons .btn{width:100%;max-width:300px}}@media (max-width: 480px){.home-page-content{padding:0 var(--spacing-sm);margin:.25rem auto 0;width:98%;max-width:none}.main-content.with-sidebar .home-page-content,.main-content.without-sidebar .home-page-content{width:98%;max-width:none}.home-header{padding:var(--spacing-sm);margin-bottom:var(--spacing-md)}.home-header h1{font-size:1.75rem}.user-info-section{padding:var(--spacing-sm);margin-bottom:var(--spacing-sm)}}.error-section{background-color:var(--bg-primary);border-radius:var(--border-radius-lg);box-shadow:var(--shadow);padding:var(--spacing-xl);margin-bottom:var(--spacing-lg);animation:fadeInUp .6s ease-out .2s both;text-align:center;border-left:4px solid var(--warning-color)}.error-section h3{color:var(--warning-color);margin-bottom:var(--spacing-md);font-size:1.3rem}.error-section p{color:var(--text-muted);margin-bottom:var(--spacing-lg)}.debug-info{background-color:var(--bg-secondary);padding:var(--spacing-md);border-radius:var(--border-radius);border:1px solid var(--border-color);text-align:left;font-family:Courier New,Consolas,monospace;font-size:var(--font-size-sm)}.debug-info p{margin:var(--spacing-xs) 0;color:var(--text-secondary)}.debug-info strong{color:var(--primary-color)}.catalog-page{width:100%;max-width:1300px;margin:0 auto;padding:var(--spacing-lg);background-color:var(--bg-secondary);overflow-y:auto;display:flex;flex-direction:column;transition:var(--transition-base)}@media screen and (min-width: 1025px){.main-content.without-sidebar .catalog-page{max-width:var(--content-max-width-desktop);width:90%}}@media screen and (min-width: 769px) and (max-width: 1024px){.main-content .catalog-page{max-width:calc(var(--content-max-width-tablet) - var(--sidebar-width-tablet));width:95%}.main-content.without-sidebar .catalog-page{max-width:var(--content-max-width-tablet);width:90%}}.search-section-catalog{background-color:#fff;border-radius:8px;padding:10px;margin:0 auto 10px;box-shadow:0 2px 4px #0000001a;width:100%}.search-filters-catalog{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md);align-items:end}.search-controls-catalog{display:flex;margin-top:5px;align-items:center;justify-content:center;gap:var(--spacing-md)}.search-controls-catalog .search-input-catalog{flex:1;max-width:600px;background-color:#fff;border:1px solid #ddd;border-radius:4px}.search-controls-catalog input{width:100%;padding:var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--border-radius-md);font-size:.9rem;border-radius:5px;color:#fff;transition:var(--transition-base)}.filter-group-catalog{display:flex;flex-direction:row}.filter-group-catalog label{padding:var(--spacing-sm);font-weight:var(--font-weight-medium);color:#000;font-size:.6rem}.filter-group-catalog input,.filter-group-catalog select{flex:1;padding:8px 12px;border:1px solid #ddd;border-radius:4px;background-color:#fff;color:#000;font-size:12px;min-width:120px}.filter-group-catalog input:focus,.filter-group-catalog select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #4a90e21a}.filter-group-catalog select:disabled{background-color:var(--bg-disabled);color:var(--text-disabled);cursor:not-allowed}.search-buttons-catalog{display:flex;gap:var(--spacing-sm);justify-content:center;max-height:40px;font-size:.6rem}.search-buttons-catalog .search-button,.reset-button{padding:8px 16px;border-radius:var(--border-radius-md);font-weight:var(--font-weight-medium);cursor:pointer;transition:var(--transition-base);min-width:40px;font-size:.6rem}.search-buttons-catalog .search-button{background-color:#007bff;color:#fff;border:none;border-radius:5px}.search-buttons-catalog .search-button:hover:not(:disabled){background-color:#0056b3}.search-buttons-catalog .reset-button{background-color:#545b62;color:var(--text-primary);border:1px solid var(--border-color);border-radius:5px}.search-buttons-catalog .reset-button:hover:not(:disabled){background-color:#434a52;border-color:#6c757d}.search-buttons-catalog .create-button{background-color:var(--primary-color);color:#fff;border:none;border-radius:5px}.search-buttons-catalog .create-button:hover:not(:disabled){background-color:#218838}.search-buttons-catalog .search-button:disabled,.search-buttons-catalog .reset-button:disabled{background-color:var(--bg-disabled);color:var(--text-disabled);cursor:not-allowed}@media screen and (max-width: 768px){.search-filters-catalog{grid-template-columns:1fr}.search-buttons-catalog{grid-column:1;justify-content:center}}.catalog-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--primary-color)}.catalog-header h1{font-size:2rem;font-weight:var(--font-weight-bold);color:var(--primary-color);margin:0}.color-tag{background-color:var(--primary-color);color:var(--text-white);padding:2px 6px;border-radius:var(--border-radius);font-size:12px;font-weight:var(--font-weight-medium)}.gold-content{color:var(--warning-color);font-size:12px;font-weight:var(--font-weight-medium);font-style:italic;line-height:1.2}.catalog-page .list{min-width:auto;max-width:100%;width:100%;flex:1;display:flex;flex-direction:column;overflow-y:auto}.products-grid{display:grid;background-color:#fff;grid-template-columns:repeat(6,1fr);gap:var(--spacing-md);padding:10px}.product-card{background-color:#fff;border-radius:var(--border-radius-lg);overflow:hidden;transition:all .3s ease;border:1px solid #e0e0e0;display:flex;flex-direction:column;box-shadow:0 1px 3px #00000014}.product-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026;border-color:var(--primary-color)}.catalog-product-image{width:170px;height:120px;margin:10 auto;background-color:#f8f9fa;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid #ddd;flex-shrink:0}.catalog-product-image img{width:90%;height:90%;object-fit:contain;transition:transform .3s ease;border-radius:var(--border-radius)}.product-card:hover .catalog-product-image img{transform:scale(1.05)}.no-image{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#999;text-align:center;background-color:#fff;border:2px dashed #ddd;border-radius:var(--border-radius);margin:var(--spacing-sm);height:calc(100% - calc(var(--spacing-sm) * 2))}.no-image span{font-size:1.5rem;margin-bottom:var(--spacing-xs)}.no-image p{margin:0;font-size:var(--font-size-xs)}.product-info{padding:var(--spacing-sm);flex:1;display:flex;flex-direction:column;justify-content:space-between}.product-name{font-size:1rem;font-weight:var(--font-weight-bold);color:#333;margin-bottom:8px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}.product-details{flex:1;display:flex;flex-direction:column}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:0}.catalog-detail-item{display:flex;align-items:center;font-size:12px;color:#000}.price-row-combined{padding:2px 0}.detail-row.note{flex-direction:column;align-items:flex-start;padding:2px 0;margin-top:0;display:flex;min-height:auto}.detail-row .label,.price-label{font-weight:var(--font-weight-medium);color:#666;font-size:12px;margin-right:2px}.detail-row .value{color:#333;font-size:12px}.detail-row.note .value{flex:1;width:100%;word-wrap:break-word;word-break:break-word;overflow-wrap:break-word;line-height:1.4;min-height:30px;padding:6px 8px;font-size:11px;background-color:#f8f9fa;border-radius:4px;color:#666;border:1px solid #e0e0e0}.labor-cost{color:var(--info-color);font-weight:var(--font-weight-medium);font-size:12px}.selling-price{color:var(--primary-color);font-weight:var(--font-weight-bold);font-size:12px}.color-tag{background-color:var(--warning-color);color:var(--text-white);padding:2px 6px;border-radius:var(--border-radius);font-size:12px;font-weight:var(--font-weight-medium)}.empty-state{text-align:center;padding:var(--spacing-xl);color:var(--text-muted)}.empty-icon{font-size:4rem;display:block;margin-bottom:var(--spacing-md)}.empty-state h3{font-size:1.5rem;font-weight:var(--font-weight-medium);margin:0 0 var(--spacing-sm) 0;color:var(--text-primary)}.empty-state p{margin:0;font-size:var(--font-size-base)}.product-card{height:100%;max-width:250px}@media (max-width: 1399px) and (min-width: 1200px){.products-grid{grid-template-columns:repeat(4,1fr);gap:var(--spacing-lg)}.catalog-product-image{width:170px;height:120px}}@media (max-width: 1199px) and (min-width: 992px){.products-grid{grid-template-columns:repeat(4,1fr);gap:var(--spacing-lg)}.catalog-product-image{width:170px;height:120px}}@media (max-width: 1024px){.catalog-page{padding:var(--spacing-md);max-width:100%}.catalog-page.with-sidebar,.catalog-page.without-sidebar{padding-left:var(--spacing-md);padding-right:var(--spacing-md)}}@media (max-width: 991px) and (min-width: 769px){.catalog-page{padding:var(--spacing-md)}.products-grid{grid-template-columns:repeat(3,1fr);gap:var(--spacing-md)}.catalog-product-image{width:170px;height:120px}}@media (max-width: 768px){.catalog-page{padding:var(--spacing-sm);margin:0}.catalog-page.with-sidebar,.catalog-page.without-sidebar{padding:var(--spacing-sm);width:100%}.catalog-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.catalog-info{align-items:flex-start}.products-grid{grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm)}.catalog-product-image{width:150px;height:105px}.product-info{padding:var(--spacing-xs);font-size:.85rem}.product-name{font-size:.9rem;line-height:1.2}.detail-row .label,.price-label,.detail-row .value,.labor-cost,.selling-price{font-size:11px}.page-btn,.page-number{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs)}}@media (max-width: 480px){.catalog-page{padding:var(--spacing-xs);margin:0}.catalog-page.with-sidebar,.catalog-page.without-sidebar{padding:var(--spacing-xs)}.catalog-header h1{font-size:1.5rem}.products-grid{grid-template-columns:repeat(2,1fr);gap:var(--spacing-xs)}.product-card{min-height:310px}.catalog-product-image{width:110px;height:77px}.product-info{padding:4px;font-size:.8rem}.product-name{font-size:.8rem;line-height:1.1}.detail-row{margin-bottom:2px}.detail-row.combined{flex-direction:row;align-items:flex-start;gap:4px;min-height:24px}.catalog-detail-item{flex:1;justify-content:space-between}.detail-row .label,.price-label,.detail-row .value,.labor-cost,.selling-price{font-size:9px}.detail-row.note{min-height:auto;padding:2px 0}.detail-row.note .value{font-size:10px;min-height:auto}}@media (max-width: 360px){.catalog-page{padding:2px}.products-grid{grid-template-columns:1fr;gap:var(--spacing-xs)}.product-card{margin:0 auto;max-width:280px}.catalog-product-image{width:100px;height:70px}.product-info{padding:3px}.product-name{font-size:.75rem;margin-bottom:2px}.detail-row .label,.price-label,.detail-row .value,.labor-cost,.selling-price{font-size:8px}.detail-row.note{min-height:auto;padding:2px 0}.detail-row.note .value{font-size:9px;min-height:auto}}.stones-section{background-color:#f8f9fa;border-radius:var(--border-radius-sm);border:1px solid #e0e0e0;padding:6px 8px;margin:4px 0}.stone-info{font-size:10px;color:#555;font-weight:var(--font-weight-medium)}.stones-section .stone-row{display:flex;align-items:center;width:100%;font-size:10px}.stones-section .stone-row:last-child .stone-total-inline{margin-left:auto;white-space:nowrap}.total-label{font-size:12px;color:#666;font-weight:var(--font-weight-normal)}.total-value{font-size:12px;color:#007bff;font-weight:var(--font-weight-bold);margin-left:1px}.factory-search-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.factory-search-modal-content{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;width:90%;max-width:1000px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.factory-search-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #e9ecef;background-color:#f8f9fa}.factory-search-modal-header h3{margin:0;font-size:1.25rem;color:#333}.pagination-footer-factory{border-top:1px solid #efefef;background-color:#fff!important}.close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.close-btn:hover{color:#333}.factory-search-results{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.loading-state,.error-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;color:#666}.results-info{padding:1rem 0;text-align:center;border-top:1px solid #e9ecef;background-color:#f8f9fa}.results-info p{margin:0;font-size:.875rem;color:#666}@media (max-width: 768px){.factory-search-modal-overlay{padding:1rem}.factory-search-modal-content{max-height:95vh}.factory-search-modal-header,.search-section{padding:1rem}.search-input-group{flex-direction:column;gap:.5rem}.search-btn{width:100%}.factory-search-results{padding:1rem}.page-btn,.page-number{padding:.375rem .5rem;font-size:.75rem}}@media (max-width: 480px){.factory-search-modal-header h3{font-size:1rem}.close-btn{font-size:1.25rem}.page-numbers{order:-1;width:100%;justify-content:center}}.basic-info-section{padding:15px;flex:1;display:flex;flex-direction:column;width:100%;background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a}.basic-info-section h2{margin:0 0 .5rem;font-size:1rem;color:#333;border-bottom:2px solid #28a745;padding-bottom:.25rem}.info-grid{display:flex;flex-direction:column;gap:.3rem}.info-item{display:flex;align-items:center;background-color:#f8f9fa;border-radius:6px;border:1px solid #e9ecef;font-size:12px;line-height:1.2;padding-left:5px}.info-item .label{font-weight:700;color:#666;min-width:50px;font-size:12px}.info-item .value{color:#666;font-weight:500;font-size:12px;flex:1}.info-row{display:flex;gap:.3rem;width:100%;flex-direction:row}.info-column{display:flex;gap:.3rem;width:100%;flex-direction:column}.info-item.half-width{flex:1}.info-item.quarter-width{flex:1;min-width:0}.info-item.quarter-width .label{min-width:40px;font-size:11px}.info-item.quarter-width .value{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.info-item.full-width{width:100%;flex-direction:column;align-items:flex-start;min-height:45px}.info-item.full-width-memo{width:100%;flex-direction:column;align-items:flex-start;min-height:45px;padding:0}.info-item.full-width .value{width:100%;margin-top:.3rem;padding:.3rem;background-color:#fff;border-radius:4px;border:1px solid #dee2e6}.editable-textarea{width:100%;min-height:45px;padding:4px 8px;border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:12px;line-height:1.2;resize:vertical;background:#fff!important;color:#333!important;transition:border-color .3s}.editable-textarea::placeholder{color:#999;font-size:11px}.required-field-basic{color:#dc3545;font-weight:700}@media (max-width: 768px){.basic-info-section{padding:1rem}.info-grid{gap:.6rem}.info-item{padding:.5rem;font-size:11px}.info-item .value{font-size:11px}.info-row{flex-direction:column;gap:.6rem}.info-row .info-item{width:100%}.editable-textarea{min-height:50px;padding:5px 8px;font-size:11px}.info-item.full-width{min-height:50px}.editable-input,.editable-select{font-size:11px;padding:5px 6px}.unit{font-size:11px}}@media (max-width: 480px){.info-item{flex-direction:column;align-items:flex-start;padding:.4rem;font-size:10px}.info-item .label{min-width:auto;font-size:10px}.info-item .value{font-size:10px}.info-row{gap:.5rem}.editable-textarea{min-height:45px;padding:4px 6px;font-size:10px}.info-item.full-width{min-height:45px}.editable-input,.editable-select{font-size:10px;padding:4px 5px}.unit{font-size:10px}}.editable-input,.editable-select{width:100%;padding:6px 8px;border:1px solid #ddd;border-radius:4px;font-size:12px;background-color:#fff;color:#333;transition:border-color .2s ease}.editable-input:focus,.editable-select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.editable-select{cursor:pointer}.editable-select:disabled{background-color:#f8f9fa;cursor:not-allowed;opacity:.6}.input-with-unit{display:flex;align-items:center;gap:4px;width:100%}.weight-input{flex:1;min-width:0}.unit{font-size:12px;color:#666;font-weight:500;white-space:nowrap}@media (max-width: 750px){.info-grid{gap:.3rem}.info-row{flex-direction:column;gap:.3rem}.info-row .info-item{width:100%;flex:none}.info-item{padding:.3rem}.info-item .value{font-size:10px}.editable-input,.editable-select{font-size:10px;padding:3px 4px}.editable-textarea{min-height:40px;font-size:10px;padding:4px 6px}.factory-search-container{gap:.3rem}.factory-search-btn{padding:3px 6px;font-size:10px}}.basicinfo-factory-search-container{display:flex;align-items:center;gap:.5rem;flex:1}.factory-display-value{flex:1;color:#666;font-weight:500;font-size:12px;padding:4px 6px;background-color:#fff;border:1px solid #dee2e6;border-radius:4px;min-height:31px;display:flex;align-items:center}.factory-search-btn{padding:4px 8px;background-color:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:11px;white-space:nowrap;transition:background-color .2s}.factory-search-btn:hover{background-color:#0056b3}.factory-search-btn:active{background-color:#004085}.image-button-group{position:absolute;top:8px;right:8px;display:flex;gap:4px;z-index:10}.image-icon-btn{width:36px;height:36px;cursor:pointer;display:flex;border:1px solid #ccc;border-radius:100%;align-items:center;justify-content:center;font-size:10px;transition:all .2s;box-shadow:0 1px 2px #0000001a}.image-icon-btn:hover{transform:scale(1.05);box-shadow:0 2px 4px #00000026}.image-icon-btn.add:hover{background-color:#51cf66;border-color:#40c057}.image-icon-btn.delete:hover{background-color:#ffe5e5;border-color:#ff6b6b}.image-container{position:relative;width:100%;height:100%;padding:10px;box-sizing:border-box}.image-container .product-image{width:100%;height:100%;object-fit:contain}.price-section{width:100%;background-color:#fff;padding:.75rem;border-radius:8px;box-shadow:0 2px 8px #0000001a}.price-section h2{margin:0 0 .5rem;font-size:1rem;color:#333;border-bottom:2px solid #28a745;padding-bottom:.25rem}.price-table{width:100%;border-collapse:collapse;border:1px solid #ddd;background:#fff;margin-top:.5rem;font-size:12px}.price-table th,.price-table td{padding:6px 3px;border:1px solid #ddd;text-align:center;vertical-align:middle;line-height:1.1}.price-table th{background-color:#f8f9fa;font-weight:700;color:#495057;font-size:11px}.price-table tbody tr:nth-child(2n){background-color:#f9f9f9}.price-table tbody tr:hover{background-color:#f0f0f0}.required-field{color:#dc3545;font-weight:700}.price-table th:nth-child(1),.price-table td:nth-child(1){width:8%;min-width:60px}.price-table th:nth-child(2),.price-table td:nth-child(2){width:12%;min-width:60px}.price-table th:nth-child(3),.price-table td:nth-child(3){width:15%;min-width:100px}.price-table th:nth-child(4),.price-table td:nth-child(4),.price-table th:nth-child(5),.price-table td:nth-child(5),.price-table th:nth-child(6),.price-table td:nth-child(6){width:8%;min-width:60px}.price-table th:nth-child(7),.price-table td:nth-child(7){width:8%;min-width:60px}.price-table th:nth-child(8),.price-table td:nth-child(8){width:20%;min-width:120px}.price-table th:nth-child(9),.price-table td:nth-child(9){width:12%;min-width:100px}.price-table .table-input{width:100%;padding:4px 6px;border:1px solid #ddd;border-radius:3px;font-size:12px;background:#fff;color:#333;text-align:center;box-sizing:border-box;line-height:1.2}.price-table .table-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.price-table .editable-select{width:100%;padding:4px 6px;border:1px solid #ddd;border-radius:3px;font-size:12px;background:#fff;color:#333;text-align:center;text-align-last:center;box-sizing:border-box;cursor:pointer;line-height:1.2}.price-table .editable-select option{text-align:start}.price-table .editable-select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.price-table .editable-text{text-align:left!important}.price-table .fixed-text{font-weight:500;color:#495057;display:block;padding:4px 6px;font-size:12px;line-height:1.2}.price-table .grade-value{color:#999;font-style:italic;font-size:11px}@media (max-width: 768px){.price-section{padding:1rem}.price-table{font-size:10px}.price-table th,.price-table td{padding:6px 2px}.price-table .table-input,.price-table .editable-select{padding:2px 4px;font-size:10px;text-align:center;text-align-last:center}.price-table .fixed-text{padding:2px 4px;font-size:10px}}@media (max-width: 480px){.price-table{font-size:9px}.price-table th,.price-table td{padding:4px 1px}.price-table .table-input,.price-table .editable-select,.price-table .fixed-text{padding:1px 2px;font-size:9px}}.search-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.search-modal-content{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;width:90%;max-width:1000px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.search-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #e9ecef;background-color:#f8f9fa}.search-modal-header h3{margin:0;font-size:1.25rem;color:#333}.search-section{padding:.5rem;border-bottom:1px solid #e9ecef;background-color:#fff;width:100%}.search-results{overflow-y:auto;width:100%}.search-input-group{display:flex;gap:.5rem;align-items:center}.search-input{flex:1;padding:.5rem .75rem;background:#fff;border:1px solid #ddd;border-radius:4px;font-size:14px;color:#333}.results-content{flex:1;overflow-y:auto;padding:1rem 1.5rem}.loading-state,.error-state,.empty-state,.loading-indicator{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;color:#666}.no-results{text-align:center;padding:2rem;color:#666;font-style:italic}.page-btn{padding:.5rem 1rem;background-color:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.page-btn:hover:not(:disabled){background-color:#0056b3}.page-btn:disabled{background-color:#6c757d;border:1px solid #ddd;border-radius:4px;cursor:not-allowed;color:#000}.page-info{font-size:14px;color:#666;margin:0 1rem}@media (max-width: 768px){.search-modal-overlay{padding:1rem}.search-modal-content{max-height:90vh}.search-modal-header{padding:1rem}.search-section{padding:.75rem 1rem}.search-input-group{flex-direction:column;gap:.5rem}.search-btn{width:100%}.search-results{padding:1rem}.page-btn,.page-number{padding:.375rem .5rem;font-size:.75rem}}@media (max-width: 480px){.search-modal-content{width:98%;max-height:95vh}.search-modal-header h3{font-size:1rem}.close-button{font-size:1.25rem}}.search-section-common{background-color:#fff;border-radius:8px;padding:10px;margin:0 auto 10px;box-shadow:0 2px 4px #0000001a;width:100%}.search-filters-common{display:flex;flex-direction:column;gap:10px}.filter-row-common{display:flex;gap:10px;width:100%;flex-direction:row;justify-content:center}.filter-group-common label{font-weight:500;color:var(--text-color);font-size:12px}.filter-group-common select{padding:4px 6px;border:1px solid #ddd;border-radius:4px;background-color:#fff;color:#000;font-size:12px}.date-range-common{display:flex;align-items:center;gap:8px;color:#000}.date-range-common input[type=date]{padding:4px 6px;border:1px solid #ddd;border-radius:4px;background-color:#fff;color:#000;font-size:12px;-moz-appearance:textfield;appearance:textfield;text-align:center}.date-range-common input[type=date]::-webkit-calendar-picker-indicator{display:none;-webkit-appearance:none}.date-range-common span{color:var(--text-color);font-weight:500}.search-controls-common{display:flex;gap:10px;width:100%;max-height:30px;flex-direction:row;justify-content:center}.search-buttons-common{display:flex;gap:5px}.delete-btn-common,.search-btn-common,.reset-btn-common,.common-btn-common{padding:8px 16px;border:none;border-radius:6px;font-size:10px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.search-btn-common{background-color:#007bff;color:#fff}.search-btn-common:hover:not(:disabled){background-color:#0056b3}.reset-btn-common{background-color:#6c757d;color:#fff}.reset-btn-common:hover:not(:disabled){background-color:#5a6268}.common-btn-common{background-color:#28a745;color:#fff}.common-btn-common:hover:not(:disabled){background-color:#218838}.delete-btn-common{background-color:#dc3545;color:#fff}.delete-btn-common:hover:not(:disabled){background-color:#b52a37}.delete-btn-common:disabled,.reset-btn-common:disabled,.common-btn-common:disabled{opacity:.6;cursor:not-allowed}.results-info-common{margin-top:15px;padding:10px 0;font-size:14px;color:var(--text-secondary);font-weight:500}.stone-search-modal{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;width:90%;max-width:1000px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.stone-search-modal-header{background-color:#fff}.pagination-footer-stone{border-top:1px solid #efefef;background-color:#fff!important}@media (max-width: 480px){.table-header,.table-row{grid-template-columns:1.5fr .7fr .9fr .7fr .7fr .7fr .7fr .7fr}.table-header span,.table-row span{padding:.4rem .2rem;font-size:10px}.select-button{padding:.2rem .3rem;font-size:10px;min-width:40px}}.stone-section{width:100%;background-color:#fff;padding:.75rem;border-radius:8px;box-shadow:0 2px 8px #0000001a}.stone-section h2{margin:0 0 .5rem;font-size:1rem;color:#333;padding-bottom:.25rem}.stone-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;border-bottom:2px solid #28a745;padding-bottom:.25rem}.stone-section-header h2{margin:0;border-bottom:none;padding-bottom:0}.add-stone-button{background-color:#007bff;color:#fff;border:none;padding:4px 10px;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s}.add-stone-button:hover{background-color:#0056b3}.add-stone-button:active{background-color:#004085}.no-stones-message{text-align:center;padding:2rem;color:#666;background-color:#f8f9fa;border-radius:6px;border:1px dashed #dee2e6}.no-stones-message p{margin:0;font-size:14px}.stone-table{width:100%;border-collapse:collapse;border:1px solid #ddd;background:#fff;margin-top:.5rem;font-size:12px;table-layout:fixed!important}.stone-table th,.stone-table td{padding:6px 3px;border:1px solid #ddd;color:#495057;text-align:center;vertical-align:middle}.stone-table th{background-color:#f8f9fa;font-weight:700;color:#495057;font-size:11px;line-height:1.2}.stone-table tbody tr:nth-child(2n){background-color:#f9f9f9}.stone-table tbody tr:hover{background-color:#f0f0f0}.stone-table th:nth-child(1),.stone-table td:nth-child(1){width:3%;min-width:55px}.stone-table th:nth-child(2),.stone-table td:nth-child(2){width:7%;min-width:55px}.stone-table th:nth-child(3),.stone-table td:nth-child(3){width:7%;min-width:55px}.stone-table th:nth-child(4),.stone-table td:nth-child(4){width:14%;min-width:120px}.stone-table th:nth-child(5),.stone-table td:nth-child(5){width:7%;min-width:55px}.stone-table th:nth-child(6),.stone-table td:nth-child(6){width:7%;min-width:55px}.stone-table th:nth-child(7),.stone-table td:nth-child(7){width:8%;min-width:55px}.stone-table th:nth-child(8),.stone-table td:nth-child(8){width:24%;min-width:55px}.stone-table th:nth-child(9),.stone-table td:nth-child(9){width:15%!important;min-width:55px!important}.stone-table th:nth-child(10),.stone-table td:nth-child(10){width:5%;min-width:55px}.stone-table th:nth-child(11),.stone-table td:nth-child(11),.stone-table th:nth-child(12),.stone-table td:nth-child(12){width:6%!important;min-width:55px!important}.stone-name-input-container{display:flex;align-items:center;gap:4px}.stone-name-input-container .table-input{flex:1}.search-button-stone-table{background:none;border:none;cursor:pointer;margin-left:4px;font-size:12px;color:#007bff;padding:0%}.search-button-stone-table:hover{color:#0056b3}.delete-stone-button{background:none;border:none;cursor:pointer;font-size:16px;padding:4px;border-radius:3px;transition:background-color .2s}.delete-stone-button:hover{background-color:#f8d7da;color:#721c24}.delete-stone-button:active{background-color:#f5c6cb}.stone-table .table-input{width:100%;padding:1px;border:1px solid #ddd;border-radius:3px;font-size:12px;background:#fff;color:#333;text-align:center;box-sizing:border-box}.stone-table .table-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.stone-table .editable-select{width:100%;padding:3px 8px;border:1px solid #ddd;border-radius:3px;font-size:12px;background:#fff;color:#333;text-align:center;text-align-last:center;box-sizing:border-box;cursor:pointer}.stone-table .editable-select option{text-align:center}.stone-table .editable-select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.stone-table .editable-text{text-align:left!important}.stone-table .readonly-input{background-color:#ddd!important;color:#6c757d!important;cursor:not-allowed!important;border-color:#e9ecef!important}.stone-table .readonly-input:focus{outline:none!important;border-color:#e9ecef!important;box-shadow:none!important}.total-row{background-color:#fff3cd!important;font-weight:700;color:#000!important}.total-row:hover{background-color:#fff3cd!important}.total-cell{background-color:#ffeaa7;font-weight:700;color:#000!important}.manual-total-row{background-color:#e9ecef!important;font-weight:700;color:#000!important}.manual-total-row:hover{background-color:#e9ecef!important}.table-level-error{margin-bottom:8px;padding:8px 12px;background:#fff5f5;border:1px solid #ffc9c9;color:#c92a2a;border-radius:8px;font-size:.9rem}.price-table tr.row-error>td{background:#fff5f5}.table-input.error,.editable-select.error{border-color:#e03131!important;outline:none;box-shadow:0 0 0 3px #e031311a}@media (max-width: 1024px){.price-table{font-size:13px;width:100%;table-layout:fixed}.price-table th,.price-table td{padding:10px 6px;word-wrap:break-word;overflow-wrap:break-word;font-size:12px}.price-table th:nth-child(3),.price-table td:nth-child(3){width:16%;min-width:100px}.price-table th:nth-child(4),.price-table td:nth-child(4),.price-table th:nth-child(5),.price-table td:nth-child(5),.price-table th:nth-child(6),.price-table td:nth-child(6),.price-table th:nth-child(7),.price-table td:nth-child(7){width:9%;min-width:70px;font-size:11px}.table-input{padding:5px 3px;font-size:10px;text-align:center;min-width:0}.editable-select{padding:5px 3px;font-size:12px;text-align:center;text-align-last:center}.price-table input[type=number]{padding:3px 2px;font-size:11px}}@media (max-width: 768px){.stone-section{padding:1rem}.stone-table{font-size:10px}.stone-table th,.stone-table td{padding:6px 2px}.stone-table .table-input,.stone-table .editable-select{padding:1px;font-size:12px;text-align:center;text-align-last:center}}@media (max-width: 480px){.stone-table{font-size:9px}.stone-table th,.stone-table td{padding:4px 1px}.stone-table .table-input,.stone-table .editable-select{padding:2px 4px;font-size:10px}}.stone-table-tooltip{position:absolute;background-color:#000000e6;color:#fff;padding:8px 12px;border-radius:6px;font-size:12px;font-weight:400;box-shadow:0 4px 12px #00000026;z-index:1000;max-width:300px;word-wrap:break-word;white-space:pre-wrap;pointer-events:none;opacity:0;transform:translateY(-5px);transition:opacity .2s ease,transform .2s ease}.stone-table-tooltip.show{opacity:1;transform:translateY(0)}.stone-table-tooltip:after{content:"";position:absolute;bottom:-5px;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:rgba(0,0,0,.9) transparent transparent transparent}.stone-table tbody tr{position:relative}.stone-table .tooltip-cell{position:relative;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stone-table .tooltip-cell:hover{background-color:#e3f2fd!important;cursor:help}.product-detail-page{padding:.5rem;max-width:1200px;margin:0 auto}.spinner{width:30px;height:30px;border:3px solid #f3f3f3;border-top:3px solid #007bff;border-radius:50%;animation:spin 1s linear infinite}.error-icon{font-size:2rem;margin-bottom:.5rem}.detail-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid #e9ecef}.back-button{padding:.4rem .8rem;background-color:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;text-decoration:none;font-size:.9rem}.back-button:hover{background-color:#0056b3}.editable-textarea{width:100%;min-height:80px;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:12px;line-height:1.4;resize:vertical;background:#fff!important;color:#333!important;transition:border-color .3s}.editable-textarea:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40;color:#333!important}.editable-number{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:14px;background:#fff!important;color:#333!important;transition:border-color .3s;text-align:right}.editable-number:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40;color:#333!important}.editable-textarea::placeholder{color:#999}.editable-number::placeholder{color:#999}.detail-header h1{margin:0;font-size:1.5rem;color:#333}.detail-content{display:flex;flex-direction:column;gap:.5rem}.top-section{display:flex;gap:.5rem;width:100%}.top-section>:first-child{flex:3;min-width:0}.top-section .image-section{flex:1;min-width:250px;max-width:320px}.image-section{display:flex;justify-content:center;flex-direction:column;align-items:center;width:100%;padding:.5rem;background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a}.image-slider{display:flex;flex-direction:column;align-items:center;gap:.3rem}.main-image-container{position:relative;display:flex;align-items:center;justify-content:center}.main-image-container img{width:180px;height:180px;object-fit:contain;background-color:#fff;border:1px solid #e9ecef;border-radius:8px;padding:.3rem;box-shadow:0 1px 3px #0000001a}.image-nav{position:absolute;top:50%;transform:translateY(-50%);background-color:#00000080;color:#fff;border:none;width:35px;height:35px;border-radius:50%;font-size:18px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s;z-index:10}.image-nav:hover{background-color:#000000b3}.image-nav.prev{left:-20px}.image-nav.next{right:-20px}.image-indicators{display:flex;gap:.5rem;align-items:center}.indicator{width:30px;height:30px;border-radius:50%;border:2px solid #ddd;background-color:#fff;color:#666;font-size:12px;font-weight:700;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.indicator:hover{border-color:#007bff;color:#007bff}.indicator.active{background-color:#007bff;border-color:#007bff;color:#fff}.product-images{display:flex;justify-content:center;gap:1rem}.product-images img,.no-image img{width:200px;height:200px;object-fit:contain;background-color:#fff;border:1px solid #e9ecef;border-radius:8px;padding:1rem;box-shadow:0 1px 3px #0000001a}.no-image{width:200px;height:200px;display:flex;align-items:center;justify-content:center;background-color:#fff;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 1px 3px #0000001a}@media (max-width: 768px){.product-detail-page{padding:.5rem}.detail-header{flex-direction:column;align-items:flex-start;gap:.5rem}.detail-header h1{font-size:1.2rem}.product-images img,.no-image,.no-image img{width:300px;height:300px}.info-row{flex-direction:column;gap:1rem}.stone-flags{flex-direction:column;gap:.5rem}.price-header{flex-direction:column;align-items:flex-start;gap:.3rem;padding:.6rem}.group-type,.color-name{font-size:.9rem}.grades-container{grid-template-columns:1fr;gap:.5rem}.grade-item{flex-direction:column;align-items:flex-start;gap:.3rem;padding:.4rem}.grade-label{min-width:auto;font-size:.85rem}.grade-value{font-size:.85rem}.price-item{flex-direction:column;align-items:flex-start;gap:.5rem;padding:.5rem}.price-item .label{min-width:auto}.editable-textarea{min-height:60px;font-size:12px}.editable-number{font-size:12px}.price-group-card{flex-direction:column;align-items:flex-start;gap:.5rem;min-height:auto}.price-header{align-self:flex-start;min-width:auto}.price-info{flex-direction:column;align-items:flex-start;gap:.5rem;width:100%}.price-item{flex-direction:row;justify-content:space-between;min-width:auto;width:100%}.grades-container{flex-direction:column;gap:.3rem;width:100%}.grade-item,.price-note{flex-direction:row;justify-content:space-between;min-width:auto;width:100%}.table-header,.table-row{font-size:12px;padding:8px;gap:10px}.price-note{flex-direction:column;align-items:flex-start;gap:.5rem;padding:.5rem}.price-note .label{min-width:auto;font-size:.85rem}.price-section,.stone-section{padding:1rem}}@media (max-width: 480px){.product-images img,.no-image,.no-image img{width:250px;height:250px}.price-info{padding:.8rem;gap:.6rem}.price-header{padding:.5rem}.group-type,.color-name{font-size:.85rem}.grade-item{padding:.3rem}.grade-label,.grade-value{font-size:.8rem}.price-item .label,.price-item .value{font-size:.85rem}.stone-flags span{padding:.3rem .6rem;font-size:.75rem}.stone-grade-table .table-header span,.stone-grade-table .table-row span{padding:.4rem .2rem;font-size:.7rem}}@media (max-width: 750px){.top-section{flex-direction:column;gap:.5rem}.top-section>:first-child{flex:none;order:1}.top-section .basic-info-section{flex:none;order:2}.top-section .image-section{min-width:auto;max-width:none}}.action-buttons{display:flex;justify-content:center;margin-top:5px;padding:10px;border-top:1px solid #e9ecef}.action-buttons .save-button{background-color:#28a745;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px;transition:background-color .3s}.action-buttons .save-button:hover:not(:disabled){background-color:#218838}.action-buttons .save-button:disabled{background-color:#6c757d;cursor:not-allowed}.action-buttons .back-button{background-color:#6c757d;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px;transition:background-color .3s}.action-buttons .back-button:hover{background-color:#5a6268}.stone-list-section{overflow-x:auto;background-color:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000001a;max-width:1200px;min-width:1200px;margin:0 auto;width:100%}.stone-list-header{padding:20px;border-bottom:1px solid #dee2e6;background-color:#fff}.stone-list-header h2{margin:0;color:#000;font-size:18px;font-weight:600}.stone-list-table{width:100%;font-size:10px;background-color:#fff;color:#000;border-collapse:collapse}.stone-list-table tbody tr:last-child{border-bottom:none}.stone-list-table tbody tr:hover{background-color:#f8f9fa}.stone-list-table th{padding:2px 6px;text-align:center;font-weight:600;color:#000;border-bottom:1px solid #dee2e6;border-right:1px solid #dee2e6;white-space:nowrap;background-color:#fff;position:sticky;top:0;z-index:10}.stone-list-table td{padding:2px 4px;text-align:center;border-right:1px solid #dee2e6;border-bottom:1px solid #dee2e6;vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px;position:relative}.stone-list-table th:last-child{border-right:none}.stone-list-table td:last-child{border-right:none}.stone-name-cell{width:150px;min-width:150px}.stone-name-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;color:#000}.stone-weight-cell{width:60px;min-width:60px}.stone-weight-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#000}.stone-purchase-cell{width:80px;min-width:80px}.stone-purchase-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#000}.stone-grade-cell{width:70px;min-width:70px}.stone-grade-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#000}.stone-note-cell{text-align:left!important;padding-left:8px;min-width:120px;max-width:200px}.stone-note-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#6c757d;font-style:italic}.stone-list-table td[title]:hover:after{content:attr(title);position:absolute;left:50%;bottom:100%;transform:translate(-50%);background-color:#000000e6;color:#fff;padding:6px 10px;border-radius:4px;white-space:normal;max-width:300px;width:max-content;z-index:1000;font-size:11px;line-height:1.4;margin-bottom:5px;box-shadow:0 2px 8px #0000004d;word-break:break-word;pointer-events:none}.stone-list-table td[title]:hover:before{content:"";position:absolute;left:50%;bottom:100%;transform:translate(-50%);border:5px solid transparent;border-top-color:#000000e6;z-index:1000;pointer-events:none}.stone-list-tooltip{background-color:#000000e6;color:#fff;padding:6px 10px;border-radius:4px;font-size:11px;white-space:nowrap;z-index:1000;pointer-events:none;opacity:0;transition:opacity .2s ease;box-shadow:0 2px 8px #0000004d}.stone-list-tooltip.show{opacity:1}.no-stones-message{display:flex;align-items:center;justify-content:center;padding:60px 20px;color:#6c757d;font-size:16px}.no-stones-message p{margin:0}@media (max-width: 768px){.stone-list-table{font-size:12px;min-width:1400px}.stone-list-table th,.stone-list-table td{padding:6px}}.stone-page{padding:20px;background-color:var(--background-color);min-height:100vh;display:flex;flex-direction:column;align-items:center;min-width:620px}.search-section-stone{width:100%;max-width:1200px;background-color:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px}.search-input-group{display:flex;gap:10px;flex-direction:row;align-items:center;justify-content:center;flex-wrap:wrap}.search-input-common{padding:8px 12px;border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:14px;min-width:200px;background-color:#fff;color:#000;transition:var(--transition-fast)}.search-input-common:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 .2rem #28a74540}.search-button{padding:8px 16px;background-color:#007bff;color:#fff;border:none;border-radius:var(--border-radius);font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.search-button:hover:not(:disabled){background-color:#0056b3}.search-button:disabled{background-color:#6c757d;cursor:not-allowed}.clear-button{padding:8px 16px;background-color:#6c757d;color:#fff;border:none;border-radius:var(--border-radius);font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.clear-button:hover:not(:disabled){background-color:#545b62}.clear-button:disabled{background-color:#adb5bd;cursor:not-allowed}.create-button{padding:8px 16px;background-color:var(--primary-color);color:#fff;border:none;border-radius:var(--border-radius);font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.create-button:hover:not(:disabled){background-color:var(--primary-dark)}.create-button:disabled{background-color:#6c757d;cursor:not-allowed}.excel-button{padding:8px 16px;background-color:var(--primary-color);color:#fff;border:none;border-radius:var(--border-radius);font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.excel-button:hover:not(:disabled){background-color:var(--primary-dark)}.excel-button:disabled{background-color:#adb5bd;cursor:not-allowed}.loading-container,.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;max-width:1200px;width:100%}.spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:15px}.loading-container p{margin:0;color:#666;font-size:14px}.error-icon{font-size:48px;margin-bottom:15px}.error-container h3{margin:0 0 10px;color:var(--danger-color);font-size:20px}.error-container p{margin:0 0 20px;color:#666;font-size:14px}.retry-button{padding:10px 20px;background-color:#007bff;color:#fff;border:none;border-radius:var(--border-radius);font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.retry-button:hover{background-color:#0056b3}.no-data-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;text-align:center;max-width:1200px;width:100%}.no-data-container p{margin:0 0 20px;color:#666;font-size:16px}.clear-search-button{padding:10px 20px;background-color:var(--primary-color);color:#fff;border:none;border-radius:var(--border-radius);font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.clear-search-button:hover{background-color:var(--primary-dark)}@media (max-width: 768px){.stone-page,.stone-page-header{padding:15px}.stone-page-header h1{font-size:20px}.search-input-group{flex-direction:column;align-items:stretch}.search-input{min-width:auto}.results-info{padding:12px 15px}}.stone-create-page{background:#fff;box-sizing:border-box;height:100%}.stone-create-section{background:#fff;border-radius:6px;box-shadow:0 1px 3px #0000001a;overflow:hidden;margin-bottom:8px;border:1px solid #e1e5e9}.stone-create-header{padding:12px 16px;border-bottom:1px solid #e1e5e9;background:#f8f9fa}.stone-create-header h2{margin:0;color:#333;font-size:16px;font-weight:600}.stone-create-table-wrap{width:100%;overflow-x:auto}.stone-create-table{width:100%;border-collapse:collapse;background:#fff;font-size:12px}.stone-create-table th{background-color:#f8f9fa;border:1px solid #e1e5e9;text-align:center;font-weight:600;color:#495057;font-size:12px;white-space:nowrap;padding:6px 4px;width:50px}.stone-create-table .no-th{background-color:#f8f9fa;border:1px solid #e1e5e9;text-align:center;font-weight:600;color:#495057;font-size:12px;white-space:nowrap;padding:6px 4px;width:20px}.stone-create-table .stone-th{background-color:#f8f9fa;border:1px solid #e1e5e9;text-align:center;font-weight:600;color:#495057;font-size:12px;white-space:nowrap;padding:6px 4px;width:40px}.stone-create-table .stone-size-th{background-color:#f8f9fa;border:1px solid #e1e5e9;text-align:center;font-weight:600;color:#495057;font-size:12px;white-space:nowrap;padding:6px 4px;width:80px}.stone-create-table .note-th,.stone-create-table .weight-th{background-color:#f8f9fa;border:1px solid #e1e5e9;text-align:center;font-weight:600;color:#495057;font-size:12px;white-space:nowrap;padding:6px 4px;width:60px}.stone-create-table td{border:1px solid #e1e5e9;padding:4px;text-align:center;font-size:11px;color:#333;vertical-align:middle}.stone-create-table input,.stone-create-table select{width:100%;height:26px;padding:0 6px;box-sizing:border-box;border:1px solid #ced4da;border-radius:3px;background:#fff;font-size:11px;color:#000}.stone-create-table .readonly-stone-name{background-color:#f8f9fa!important;color:#6c757d;cursor:not-allowed;border-color:#e1e5e9}.stone-create-table input:focus,.stone-create-table select:focus{outline:none;border-color:#86b7fe;box-shadow:0 0 0 .15rem #0d6efd26}.stone-create-table tbody tr:hover{background-color:#f8f9fa}.stone-create-actions{display:flex;gap:6px;justify-content:center;padding:8px;background:#fff;border-top:1px solid #e1e5e9}@media (max-width: 1200px){.stone-create-table{font-size:12px}.stone-create-table th,.stone-create-table td{padding:6px 4px}}@media (max-width: 768px){.stone-create-header h2{font-size:16px}.stone-create-actions{padding:10px}}@media (max-width: 600px){.stone-create-table{min-width:900px}}.stone-edit-page{padding:20px;background-color:#f8f9fa;min-height:100vh;position:relative}.stone-edit-section{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.stone-edit-table-wrap{overflow-x:auto;margin-bottom:20px}.stone-edit-table{width:100%;border-collapse:collapse;background-color:#fff;font-size:14px;min-width:1200px}.stone-edit-table thead tr{background-color:#f8f9fa}.stone-edit-table th{padding:12px 8px;text-align:center;font-weight:600;color:#000;border:1px solid #dee2e6;white-space:nowrap;background-color:#f8f9fa}.stone-edit-table td{padding:8px;text-align:center;border:1px solid #dee2e6;vertical-align:middle}.stone-edit-table input,.stone-edit-table select{width:100%;padding:6px 8px;border:1px solid #ddd;border-radius:4px;font-size:13px;box-sizing:border-box;transition:all .2s ease}.stone-edit-table input:focus,.stone-edit-table select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #28a7451a}.stone-edit-table input[type=number]{text-align:right}.stone-edit-table select{cursor:pointer;background-color:#fff}.stone-edit-table .stone-name-input{font-weight:500;background-color:#fff9e6}.stone-edit-table .readonly-input{background-color:#f5f5f5;color:#999;cursor:not-allowed}.stone-edit-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:30px;padding-top:20px;border-top:1px solid var(--border-color)}.loading-overlay{position:fixed;inset:0;background-color:#0000004d;display:flex;align-items:center;justify-content:center;z-index:9999}.loading-overlay .loading-state{background-color:transparent;padding:0}.loading-overlay .spinner{width:48px;height:48px;border-width:4px}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px}.loading-container .spinner{margin-bottom:20px}.loading-container p{color:var(--text-muted);font-size:14px}@media (max-width: 768px){.stone-edit-page,.stone-edit-section{padding:15px}.stone-edit-table{font-size:12px;min-width:1400px}.stone-edit-table th,.stone-edit-table td{padding:6px 4px}.stone-edit-actions{flex-direction:column}.stone-edit-actions button{width:100%}}.bulk-action-bar{display:flex;justify-content:center;align-items:center;padding:8px 0;background-color:#fff;flex-direction:row}.bulk-action-info{display:flex;align-items:center}.bulk-action-buttons{display:flex;gap:6px}.bulk-action-btn{display:inline-flex;align-items:center;padding:6px 10px;font-size:10px;font-weight:500;text-decoration:none;border-radius:4px;transition:all .2s ease;cursor:pointer;border:1px solid transparent}.bulk-action-btn:hover:not(.disabled){transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.bulk-action-btn.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.bulk-action-btn.change-delivery-date{background-color:#17a2b8;color:#fff;border-color:#17a2b8}.bulk-action-btn.change-delivery-date:hover:not(.disabled){background-color:#138496;border-color:#117a8b}.bulk-action-btn.stock-register{background-color:#28a745;color:#fff;border-color:#28a745}.bulk-action-btn.stock-register:hover:not(.disabled){background-color:#218838;border-color:#1e7e34}.bulk-action-btn.sales-register{background-color:#007bff;color:#fff;border-color:#007bff}.bulk-action-btn.sales-register:hover:not(.disabled){background-color:#0056b3;border-color:#004085}.bulk-action-btn.rental-register{background-color:#fd7e14;color:#fff;border-color:#fd7e14}.bulk-action-btn.rental-register:hover:not(.disabled){background-color:#e8590c;border-color:#dc5200}.bulk-action-btn.return-register{background-color:#e83e8c;color:#fff;border-color:#e83e8c}.bulk-action-btn.return-register:hover:not(.disabled){background-color:#d91a72;border-color:#c70c62}.bulk-action-btn.delete{background-color:#dc3545;color:#fff;border-color:#dc3545}.bulk-action-btn.delete:hover:not(.disabled){background-color:#c82333;border-color:#bd2130}.bulk-action-btn.rollback{background-color:#dc3545;color:#fff;border-color:#dc3545}.bulk-action-btn.rollback:hover:not(.disabled){background-color:#c82333;border-color:#bd2130}@media (max-width: 768px){.bulk-action-bar{flex-direction:column;gap:12px;align-items:stretch}.bulk-action-info{justify-content:center}.bulk-action-buttons{justify-content:center;flex-wrap:wrap}.bulk-action-btn{flex:1;min-width:100px;justify-content:center}}.no-data-order{text-align:center;padding:60px 20px;color:var(--text-secondary);font-size:16px}.color-cell-order,.note-cell-order{min-width:150px;text-align:left!important;word-break:break-word;line-height:1;color:#000}.image-cell-order{display:flex;justify-content:center;background-color:#fff}.order-image{width:50px;height:50px;object-fit:contain;border-radius:4px;border:1px solid #ddd}.product-name-order{max-width:200px;text-align:left!important;font-weight:500;color:#000}.info-cell{min-width:40px;text-align:center!important}.info-label{font-size:12px;color:#666;font-weight:500;min-width:30px}.info-value{font-size:12px;color:#000}.info-value-expect{color:#d32f2f;font-size:12px}.info-value-stone-note{font-size:10px;color:#000}.highlight-18k{color:#d32f2f;font-weight:600}.stock-row,.stock-row.selected-row{background-color:#ffe0e0!important}.priority-badge-order,.status-badge-order{display:inline-block;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500;text-align:center;min-width:60px}.status-dropdown-order{padding:4px 6px;border:1px solid #ddd;border-radius:4px;background-color:#fff;cursor:pointer;color:#000;transition:border-color .2s;font-size:10px}.status-dropdown-order:focus{outline:none;border-color:var(--primary-color)}.status-dropdown-order:disabled{background-color:#f5f5f5;cursor:not-allowed;opacity:.6}.status-dropdown-order option{padding:5px}.row-waiting{background-color:#ffcdd2!important;color:#d32f2f!important;font-weight:600}.factory-name-btn{background:none;border:none;color:var(--primary-color);font-weight:500;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s;text-decoration:underline}.factory-name-btn:hover:not(:disabled){background-color:var(--primary-color);color:#fff;text-decoration:none}.factory-name-btn:disabled{opacity:.6;cursor:not-allowed;color:#999}.priority-badge-order.일반{background-color:#e3f2fd;color:#1976d2}.priority-badge-order.급{background-color:#ffebee;color:#d32f2f}.status-badge-order.완료{background-color:#e8f5e8;color:#2e7d32}.status-badge-order.진행중{background-color:#fff3e0;color:#f57c00}.status-badge-order.대기{background-color:#f3e5f5;color:#7b1fa2}.color-spen{color:#000}tr.disabled-row{background-color:#f8f8f8;color:#b0b0b0;cursor:not-allowed}tr.disabled-row button{pointer-events:none;opacity:.6}.date-picker-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.date-picker-modal{background-color:#fff;padding:20px;border-radius:8px;box-shadow:0 4px 8px #0003;display:flex;flex-direction:column;gap:15px;width:300px}.date-picker-modal h3{margin:0;text-align:center;color:#000}.date-picker-input{padding:8px;border:1px solid #ccc;border-radius:4px;font-size:1rem}.date-picker-modal p{color:#000}.date-picker-actions{display:flex;justify-content:space-between;gap:10px;color:#000}.date-picker-actions button{flex:1;padding:10px;border:none;border-radius:4px;cursor:pointer;font-weight:700}.date-btn-save{background-color:#007bff;color:#fff}.date-btn-cancel{background-color:#f2f2f2;color:#333}.store-search-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.store-search-modal-content{background:#fff;border-radius:8px;width:90%;max-width:800px;max-height:80vh;overflow:hidden;box-shadow:0 4px 20px #00000026}.store-search-modal-header{padding:20px;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center;background-color:#f8f9fa}.store-search-modal-header h3{margin:0;font-size:18px;font-weight:600;color:#333}.pagination-footer-store{border-top:1px solid #efefef;background-color:#fff!important}.close-button{background:none;border:none;font-size:24px;cursor:pointer;color:#666;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s}.close-button:hover{background-color:#e9ecef}.search-section{padding:20px;border-bottom:1px solid #e0e0e0}.search-input-group{display:flex;gap:10px}.search-input{flex:1;padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.search-input:focus{outline:none;border-color:var(--primary-color)}.search-btn{padding:10px 20px;background-color:var(--primary-color);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s}.search-btn:hover:not(:disabled){background-color:#218838}.search-btn:disabled{opacity:.6;cursor:not-allowed}.store-search-results{height:400px;display:flex;flex-direction:column}.loading-state,.error-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px;text-align:center}.loading-state .spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.error-state p,.empty-state p{color:#666;font-size:14px;margin:0}.search-products-grid{display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(2,auto);gap:1rem;justify-items:center;flex:1;padding:5px;align-content:start;background:#fff}.pagination-footer-product{border-top:1px solid #efefef;background-color:#fff!important}.order-history-section{background-color:#fff;border-radius:8px}.order-history-section h2{color:#333;font-size:14px;font-weight:600;text-align:center}.order-history-table-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow-x:auto;max-height:400px;overflow-y:auto;padding:5px}.order-history-table{table-layout:fixed;border-collapse:collapse;font-size:12px;min-width:1350px;width:100%}.order-history-table thead{background-color:#f8f9fa;position:sticky;top:0;z-index:10}.order-history-table td{text-align:center;border:1px solid #ddd;font-size:11px;min-height:30px;color:#000;overflow-x:auto;white-space:nowrap}.order-history-table th,.order-history-table td{border:1px solid #dee2e6;text-align:center;white-space:nowrap}.order-history-table th{background-color:#f8f9fa;font-weight:600;color:#495057}.order-history-table tbody tr:nth-child(2n){background-color:#f9f9f9}.order-history-table tbody tr:hover{background-color:#e3f2fd}.order-history-table tbody tr td:empty{background-color:#fafafa;border:1px solid #e0e0e0}.order-history-table tbody tr:hover td:empty{background-color:#f5f5f5}.order-history-table .no-data{padding:40px;text-align:center;font-style:italic;background-color:#f9f9f9}.order-history-table tbody tr:hover{background-color:#f5f5f5}.order-history-table tbody tr:nth-child(2n){background-color:#fafafa}.order-history-table tbody tr:nth-child(2n):hover{background-color:#f0f0f0}.order-history-table .col-no{width:20px}.order-history-table .col-date{width:80px}.order-history-table .col-model{width:100px}.order-history-table .col-material,.order-history-table .col-color{width:40px}.order-history-table .col-stone-memo-main{width:100px}.order-history-table .col-stone-memo-sub,.order-history-table .col-size{width:50px}.order-history-table .col-etc{width:120px}.order-history-table .col-gold-weight,.order-history-table .col-stone-weight{width:50px}.order-history-table .col-stone-qty-main,.order-history-table .col-stone-qty-sub,.order-history-table .col-price-base,.order-history-table .col-price-add{width:60px}.order-history-table .col-stone-price-main,.order-history-table .col-stone-price-sub,.order-history-table .col-stone-price-add{width:50px}.order-history-table .col-side-stone-type,.order-history-table .col-side-stone-status{width:30px}.order-history-table .col-side-stone-date{width:60px}.order-history-table .col-total-fee{width:80px}@media (max-width: 1200px){.order-history-table{font-size:10px}.order-history-table th,.order-history-table td{padding:4px 2px}}@media (max-width: 768px){.order-history-section{margin:10px 0}.order-history-section h2{font-size:16px}}.product-info-section{margin-bottom:24px}.product-info-section h2{font-size:18px;font-weight:600;color:#333;margin-bottom:16px;padding-bottom:8px;border-bottom:2px solid #e1e5e9}.order-history-placeholder{padding:40px;text-align:center;color:#666;background:#f8f9fa;border:1px dashed #ddd;border-radius:8px;font-size:14px}.order-create-page{padding:10px;background-color:var(--background-color);min-height:100vh;margin:0 auto;background:#f2f2f2}.stock-status-row,.stock-status-row td{background-color:#ffebee!important}.stock-status-row input:disabled,.stock-status-row select:disabled{background-color:#f5f5f5!important;opacity:.7!important;cursor:not-allowed!important}.order-update-page{padding:10px;background-color:var(--background-color);margin:0 auto;background:#fff;height:100%}.order-detail-card{background-color:#fff;border-radius:8px;border:1px solid #ddd;padding:20px;margin-bottom:10px;box-shadow:0 2px 4px #0000001a}.order-detail-card h3{font-size:16px;font-weight:600;color:#333}.detail-grid{display:flex}.detail-item{display:flex;align-items:center;gap:10px;font-size:12px}.detail-item label{font-weight:500;color:#555}.detail-item span{color:#333;font-weight:400;margin-right:15px}.detail-button-group{display:flex;gap:10px;margin-left:auto;justify-content:center}.search-field-container{display:flex;align-items:center;width:100%}.search-field-container input{flex:1;cursor:default!important}.search-field-container input:focus{outline:none;border-color:#ccc}.search-icon{cursor:pointer;color:#666;font-size:14px;transition:color .2s}.search-icon:hover{color:var(--primary-color)}.arrival-status{color:red}.arrival-status.arrived{color:#000;font-weight:700}.spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.page-header h1,.page-header h3{font-size:24px;font-weight:600;color:#333}.header-actions .btn-add-row{background-color:var(--primary-color);color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-weight:500;transition:background-color .2s}.header-actions .btn-add-row:hover:not(:disabled){background-color:var(--primary-hover-color)}.product-info-section{margin-bottom:5px;padding:15px;background-color:#fff;border-radius:8px;border:1px solid #e0e0e0}.product-info-section h2{margin:0 0 15px;padding-bottom:10px;border-bottom:2px solid var(--primary-color);color:#333;font-size:18px;font-weight:600}.product-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:20px}.product-info-card{background-color:#fff;border-radius:8px;border:1px solid #ddd;overflow:hidden;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:row;height:250px}.product-info-header{display:flex;justify-content:space-between;align-items:center;padding:12px 15px;background-color:#f8f9fa;border-bottom:1px solid #e0e0e0}.product-image-container{width:250px;max-height:250px;display:flex;align-items:center;justify-content:center;border-radius:4px;overflow:hidden;border:1px solid #ddd;object-fit:contain}.product-image{width:100%;height:100%}.no-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:#f5f5f5;color:#999;font-size:10px;text-align:center}.basic-info-section{padding:15px;flex:1;display:flex;flex-direction:column}.info-grid{display:flex;flex-direction:column;gap:12px;height:100%}.info-row{display:flex;gap:15px;align-items:center}.info-row-last{display:flex;gap:15px;align-items:stretch;flex:1;min-height:0}.stone-info-container,.product-memo{flex-grow:1;height:100%;background-color:#fdfdfd;border:1px solid #f0f0f0;border-radius:4px;padding:8px;overflow-y:auto;min-height:120px;color:#333}.stone-item{margin-bottom:8px;padding:6px;background-color:#f9f9f9;border-radius:3px;font-size:11px;line-height:1.4;color:#333}.stone-item:last-child{margin-bottom:0}.third-width{flex:1;min-width:0}.quarter-width{flex:1;min-width:0;min-height:35px}.full-width{flex:1;width:100%}.memo-container{display:flex;flex-direction:column;gap:5px;width:100%}.memo-item{font-size:11px;color:#666;line-height:1.4}.memo-item strong{color:#333;font-weight:500}.header-actions .btn-add-row:disabled{opacity:.6;cursor:not-allowed}.product-images-section{background-color:#fff;border-radius:8px;padding:15px;margin-bottom:20px;box-shadow:0 2px 4px #0000001a}.product-images-section h2{font-size:18px;font-weight:600;color:#333;margin-bottom:15px;text-align:center}.product-images-grid{display:flex;flex-wrap:wrap;gap:15px;justify-content:center;min-height:100px}.product-image-item{display:flex;flex-direction:column;align-items:center;padding:10px;border:1px solid #ddd;border-radius:8px;background-color:#f9f9f9}.product-image-item img{width:80px;height:80px;object-fit:cover;border-radius:4px;margin-bottom:8px}.product-image-item .no-image{width:80px;height:80px;background-color:#e9ecef;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:12px;color:#6c757d;margin-bottom:8px}.product-image-item .product-name{font-size:12px;font-weight:500;color:#333;text-align:center}.order-table-container{background-color:#fff;border-radius:8px;overflow:auto;box-shadow:0 2px 4px #0000001a;margin-top:5px;margin-bottom:15px;padding:5px}.order-create-table{border-collapse:collapse;font-size:12px;min-width:1350px;width:100%}.order-create-table th{background-color:#f8f9fa;text-align:center;font-weight:600;color:#333;white-space:nowrap;border:1px solid #ddd;position:sticky;top:0;z-index:1}.order-create-table td{padding:3px 1px;text-align:center;vertical-align:middle;border:1px solid #ddd;color:#333;font-weight:700}.order-create-table tbody tr:hover{background-color:#f8f9fa}.order-create-table select,.order-create-table input{width:100%;padding:2px 3px;border:1px solid #ddd;border-radius:3px;font-size:10px;background-color:#fff;color:#333}.order-create-table input[type=date]::-webkit-calendar-picker-indicator{display:none;-webkit-appearance:none}.order-create-table input[type=date]::-webkit-inner-spin-button,.order-create-table input[type=date]::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}.order-create-table input[type=date]{-moz-appearance:textfield;appearance:textfield;text-align:center}.order-create-table-date input[type=date]::-webkit-calendar-picker-indicator{width:100%;min-width:45px;padding:2px 3px;border:1px solid #ddd;border-radius:3px;font-size:10px;background-color:#fff;color:#333;display:none;-webkit-appearance:none;text-align:center}.order-create-table select:focus,.order-create-table input:focus{outline:none;border-color:var(--primary-color)}.order-create-table select:disabled,.order-create-table input:disabled{background-color:#f5f5f5;cursor:not-allowed}.form-actions{display:flex;justify-content:center;gap:10px}.btn-delete-row{background-color:#ff828e;color:#fff;border:none;padding:3px 6px;border-radius:3px;cursor:pointer;font-size:9px;transition:background-color .2s}.btn-delete-row:hover:not(:disabled){background-color:#c82333}.btn-delete-row:disabled{opacity:.6;cursor:not-allowed}.btn-submit{background-color:var(--primary-color);color:#fff}.btn-submit:hover:not(:disabled){background-color:#218838}.btn-cancel{background-color:#6c757d;color:#fff}.btn-delete{background-color:#c82333;color:#fff}.btn-delete:hover:not(:disabled){background-color:#a71d2a}.btn-cancel:hover:not(:disabled){background-color:#5a6268}.btn-add-row{background-color:var(--primary-color);color:#fff}.btn-add-row:hover:not(:disabled){background-color:var(--primary-hover-color)}.btn-delete,.btn-submit,.btn-cancel{padding:6px 12px;border:none;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;transition:background-color .2s;margin-bottom:10px}.btn-add-row{padding:4px 8px;border:none;border-radius:4px;font-size:10px;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-delete:disabled,.btn-add-row:disabled,.btn-submit:disabled,.btn-cancel:disabled{opacity:.6;cursor:not-allowed}.order-create-table-no-cell{width:20px}.order-create-table-del-cell{width:40px}.order-create-table-store-cell{min-width:80px;max-width:100px}.order-create-table-model-cell{min-width:100px;max-width:120px}.order-create-table-factory-cell{min-width:70px;max-width:80px}.order-create-table-material-cell{width:50px}.order-create-table-color-cell,.order-create-table-type-cell{width:80px}.order-create-table-insert-cell{width:40px}.order-create-table-money-cell{width:55px}.order-create-table-count-cell{width:30px}.order-create-table-stone-weight-cell{width:40px}.order-create-table-note-cell{width:70px}.order-create-table-size-cell{width:45px}.order-create-table-priority-cell{width:55px}@media (max-width: 1200px){.order-create-page{padding:5px;max-width:100%;margin:0}.order-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.order-create-table{font-size:10px;min-width:1150px}.order-create-table th,.order-create-table td{padding:2px 1px;min-width:35px}.product-image-item img,.product-image-item .no-image{width:60px;height:60px}.order-create-table th:nth-child(3),.order-create-table td:nth-child(3),.order-create-table th:nth-child(4),.order-create-table td:nth-child(4),.order-create-table th:nth-child(5),.order-create-table td:nth-child(5){min-width:80px}.product-info-grid{grid-template-columns:1fr}.info-row{flex-direction:column;gap:8px;align-items:stretch;display:flex}.product-info-header{flex-direction:column;gap:10px;text-align:center}.product-image-container{width:80px;height:80px}}@media (max-width: 768px){.order-create-page{padding:2px}.order-table-container{margin:0 -2px;border-radius:0}.order-create-table{font-size:9px}.order-create-table th,.order-create-table td{padding:1px}.search-field-container{gap:2px}.search-icon{font-size:12px}}.stock-table-container{background-color:#fff;border-radius:8px;overflow:auto;box-shadow:0 2px 4px #0000001a;margin-bottom:15px;padding:5px;font-size:10px;margin-top:8px}.read-only-cell{background-color:#f5f5f5;color:#666;font-weight:400;cursor:not-allowed}.stock-update-table{border-collapse:collapse;min-width:1350px;width:100%}.stock-update-table th{background-color:#f8f9fa;text-align:center;font-weight:600;color:#333;white-space:nowrap;border:1px solid #ddd;position:sticky;top:0;z-index:1;font-size:10px}.stock-update-table td{padding:3px 1px;text-align:center;vertical-align:middle;border:1px solid #ddd;color:#333;font-weight:700;font-size:10px}.stock-update-table tbody tr:hover{background-color:#f8f9fa}.stock-update-table select,.stock-update-table input{width:100%;padding:2px 3px;border:1px solid #ddd;border-radius:3px;background-color:#fff;color:#333}.stock-update-table input[type=date]::-webkit-calendar-picker-indicator{display:none;-webkit-appearance:none}.stock-update-table input[type=date]::-webkit-inner-spin-button,.stock-update-table input[type=date]::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}.stock-update-table input[type=date]{-moz-appearance:textfield;appearance:textfield;text-align:center}.stock-update-table-date input[type=date]::-webkit-calendar-picker-indicator{width:100%;min-width:45px;padding:2px 3px;border:1px solid #ddd;border-radius:3px;font-size:10px;background-color:#fff;color:#333;display:none;-webkit-appearance:none;text-align:center}.stock-update-table select:focus,.stock-update-table input:focus{outline:none;border-color:var(--primary-color)}.stock-update-table select:disabled,.stock-update-table input:disabled{background-color:#f5f5f5;cursor:not-allowed}.stock-list{overflow-x:auto;background-color:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000001a;max-width:1200px;min-width:1200px;margin:0 auto;width:100%}.stock-table{width:100%;font-size:10px;background-color:#fff;color:#000;border-collapse:collapse}.stock-table tbody tr:last-child{border-bottom:none}.stock-table tbody tr:hover{background-color:#fff}.stock-table th{padding:2px 6px;text-align:center;font-weight:600;color:#000;border-bottom:1px solid #dee2e6;border-right:1px solid #dee2e6;white-space:nowrap;background-color:#fff;position:sticky;top:0;z-index:10}.stock-table td{text-align:center;border-right:1px solid #dee2e6;border-bottom:1px solid #dee2e6;vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px;position:relative}.stock-table th:last-child{border-right:none}.stock-table-twin{width:50px}.stock-table td[title]:hover:after{content:attr(title);position:absolute;left:50%;bottom:100%;transform:translate(-50%);background-color:#000000e6;color:#fff;padding:6px 10px;border-radius:4px;white-space:normal;max-width:300px;width:max-content;z-index:1000;font-size:11px;line-height:1.4;margin-bottom:5px;box-shadow:0 2px 8px #0000004d;word-break:break-word;pointer-events:none}.stock-table td[title]:hover:before{content:"";position:absolute;left:50%;bottom:100%;transform:translate(-50%);border:5px solid transparent;border-top-color:#000000e6;z-index:1000;pointer-events:none}.stock-table td:last-child{border-right:none}.stock-row{cursor:pointer;transition:background-color .2s ease}.stock-row:hover{background-color:#f8f9fa}.type-cell{width:50px}.serial-cell{width:60px;min-width:60px;font-weight:500}.order-cell{width:30px;min-width:30px}.size-note-cell{width:50px;min-width:50px}.size-note-content{display:flex;flex-direction:column;gap:2px;align-items:center;justify-content:center;min-width:50px;height:100%;text-align:center!important}.size-note-content .size{font-weight:700;color:#333}.size-note-content .note{font-size:11px;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.info-row-order{justify-content:center;align-items:center;margin-bottom:2px}.info-row-order:last-child{margin-bottom:0}.info-value-stock{font-size:12px;color:#000}.info-value-stock-expect{color:#d32f2f;font-size:12px}.stone-note-cell{width:80px;min-width:80px}.stone-note-content{min-width:80px;text-align:center!important;display:flex;flex-direction:column;gap:2px;align-items:center}.main-quantity-cell,.assistance-quantity-cell{width:20px;min-width:20px}.gold-weight-cell,.stone-weight-cell{width:55px;min-width:55px}.product-labor-cost-cell,.add-labor-cost-cell,.main-stone-labor-cost-cell,.assistance-stone-labor-cost-cell,.stone-add-labor-cost-cell,.product-purchase-cost-cell,.stone-purchase-cost-cell{width:50px;min-width:50px}.stock-row-order{background-color:#d4edda!important}.stock-row-general{background-color:#f8f9fa!important}.stock-row-rental{background-color:#f8d7da!important}.stock-row-repair{background-color:#fff3cd!important}.stock-row-return{background-color:#fce4ec!important}.stock-row-general-stock{background-color:#e9ecef!important}.stock-row-general-rental{background-color:#ffe0b2!important}.stock-row-order-stock{background-color:#d4edda!important}.stock-row-order-rental{background-color:#ffe0b2!important}.stock-row-repair-stock{background-color:#fff3cd!important}@media (max-width: 768px){.stock-table{font-size:12px;min-width:1400px}.stock-table th,.stock-table td{padding:6px}}.stock-create-page{padding:10px;background-color:var(--background-color);min-height:100vh;margin:0 auto;background:#f2f2f2}.form-actions{display:flex;justify-content:center;gap:12px;margin-top:10px;padding:10px 0;border-top:1px solid #e5e7eb}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:#6b7280}.spinner{width:40px;height:40px;border:3px solid #f3f4f6;border-top:3px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.stock-update-page{margin:0 auto;padding:10px;background-color:#f5f5f5;height:100%}.page-header{display:flex;justify-content:flex-start;align-items:center;margin-bottom:10px;padding:15px 20px;background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.page-header h2{margin:0;font-size:1.5rem;color:#333}.btn-close{padding:8px 16px;background-color:#6c757d;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background-color .2s}.btn-close:hover{background-color:#5a6268}.stock-detail-card{background-color:#fff;border-radius:8px;padding:20px;margin-bottom:20px;box-shadow:0 2px 4px #0000001a}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:15px}.detail-grid-stock{display:flex;align-items:center;gap:10px;margin-left:20px;font-size:12px}.detail-item-stock{font-weight:700;font-size:12px;gap:10px}.detail-item-stock label{font-weight:500;color:#555}.detail-item-stock span{color:#333;font-weight:400;margin-right:15px}.spinner{border:4px solid #f3f3f3;border-top:4px solid #007bff;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite}@media (max-width: 768px){.stock-update-page{padding:10px}.page-header{flex-direction:column;gap:10px;text-align:center}.detail-grid{grid-template-columns:1fr}}.stone-search-page{width:100%;height:100vh;background:#f5f5f5;padding:20px;box-sizing:border-box}.stone-search-container{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;height:100%;display:flex;flex-direction:column}.stone-search-header{padding:20px;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center;background:#f8f9fa;border-radius:8px 8px 0 0}.stone-search-header h2{margin:0;color:#333;font-size:1.5rem}.close-button{background:none;border:none;font-size:24px;cursor:pointer;color:#666;padding:5px;line-height:1}.spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #007bff;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.stones-list{margin-bottom:20px}.stones-table{border:1px solid #ddd;border-radius:4px;overflow:hidden;color:#333}.table-header{display:grid;grid-template-columns:2fr 1fr 1.2fr 1fr 1fr 1fr 1fr .8fr;background-color:#f8f9fa;border-bottom:1px solid #ddd;font-weight:700;color:#495057}.table-header span,.table-row span{padding:.25rem .5rem;border-right:1px solid #ddd;display:flex;align-items:center;justify-content:center;text-align:center;font-size:12px}.table-header span:last-child,.table-row span:last-child{border-right:none}.table-row{display:grid;grid-template-columns:2fr 1fr 1.2fr 1fr 1fr 1fr 1fr .8fr;border-bottom:1px solid #eee;cursor:pointer;transition:background-color .2s}.table-row:hover{background-color:#f5f5f5}.table-row.current{background-color:#e3f2fd;font-weight:700}.col-name{justify-content:flex-start!important;padding-left:.75rem!important;text-align:left!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-button{padding:.25rem .5rem;background-color:#28a745;color:#fff;border:none;border-radius:3px;cursor:pointer;font-size:11px;min-width:50px}.select-button:hover{background-color:#218838}@media (max-width: 768px){.stone-search-page{padding:10px}.search-input-group{flex-direction:column}.search-btn{width:100%}}@media (max-width: 480px){.table-header,.table-row{grid-template-columns:1.5fr .7fr .9fr .7fr .7fr .7fr .7fr .7fr}.table-header span,.table-row span{font-size:10px;padding:.2rem .3rem}}.stone-info-manager{background:#fff;height:100%;align-items:center;display:flex;flex-direction:column}.stone-info-manager-overlay{display:flex;justify-content:center;align-items:center;z-index:1000}.stone-info-manager-modal{background:#fff;flex-direction:column;box-shadow:0 4px 20px #0003;height:100%}.stone-info-manager-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e0e0e0;background:#f8f9fa;border-radius:8px 8px 0 0}.stone-info-header h2{margin:0;color:#333;font-size:1.5rem;color:#000}.stone-info-manager-close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666;padding:5px}.stone-info-manager-close-btn:hover{color:#333}.stone-info-manager-content{flex:1;padding:10px;overflow-y:auto;height:100%;width:1000px}.stone-info-manager-error{display:flex;align-items:center;gap:8px;padding:12px;background:#ffebee;border:1px solid #f8bbd9;border-radius:4px;color:#c62828;margin-bottom:20px}.stone-info-manager-loading{display:flex;flex-direction:column;align-items:center;gap:10px;padding:40px}.stone-info-manager-actions{display:flex;justify-content:flex-end;margin-bottom:10px}.stone-info-add-btn{background:#2196f3;color:#fff;border:none;padding:5px 10px;border-radius:4px;cursor:pointer;font-size:12px;transition:background-color .2s}.stone-info-add-btn:hover{background:#1976d2}.stone-search-btn{background:#fff;border:1px solid #ddd;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:12px;color:#666;transition:all .2s;text-align:left;min-width:120px}.stone-search-btn:hover{border-color:#2196f3;color:#2196f3}.stone-search-btn:focus{outline:none;border-color:#2196f3;box-shadow:0 0 0 2px #2196f333}.stone-info-table-container{overflow-x:auto;border:1px solid #e0e0e0;border-radius:4px}.stone-info-table{width:100%;border-collapse:collapse;font-size:10px}.stone-info-table th,.stone-info-table td{padding:6px 4px;border-bottom:1px solid #e0e0e0;text-align:center;white-space:nowrap;color:#000}.stone-info-table th{background:#f5f5f5;font-weight:600;color:#333;border-bottom:2px solid #ddd}.stone-info-table tbody tr:hover{background:#f9f9f9}.stone-info-table input,.stone-info-table select{width:100%;min-width:80px;padding:3px 4px;border:1px solid #ddd;border-radius:3px;font-size:13px;background:#fff;color:#000}.stone-info-table input[type=checkbox]{width:auto;min-width:auto;margin:0;transform:scale(1.2)}.stone-info-table input[type=number]{text-align:right}.stone-info-table select{min-width:120px}.grade-select{min-width:150px;max-width:200px;font-size:12px;padding:4px 6px}.stone-info-delete-btn{background:#f44336;color:#fff;border:none;padding:3px 4px;border-radius:3px;cursor:pointer;font-size:12px;transition:background-color .2s}.stone-info-delete-btn:hover{background:#d32f2f}.stone-info-manager-footer{display:flex;justify-content:flex-end;gap:10px;padding:20px;border-top:1px solid #e0e0e0;background:#f8f9fa}.stone-info-cancel-btn,.stone-info-save-btn{padding:10px 24px;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s}.stone-info-cancel-btn{background:#9e9e9e;color:#fff}.stone-info-cancel-btn:hover{background:#757575}.stone-info-save-btn{background:#4caf50;color:#fff}.stone-info-save-btn:hover{background:#388e3c}.stone-info-summary{margin:10px 0;padding:10px;background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px}.stone-info-summary h4{margin:0 0 15px;font-size:14px;font-weight:600;color:#495057}.summary-grid{display:flex;gap:10px;justify-content:center}.summary-item{display:flex;justify-content:space-between;align-items:center;padding:4px 6px;background-color:#fff;border:1px solid #dee2e6;border-radius:4px;font-size:10px}.summary-item label{font-weight:500;color:#6c757d;margin-right:10px}.summary-item span{font-weight:600;color:#495057}@media (max-width: 768px){.stone-info-manager-modal{width:95%;max-height:90vh}.stone-info-manager-header,.stone-info-manager-content,.stone-info-manager-footer{padding:15px}.stone-info-table{font-size:12px}.stone-info-table th,.stone-info-table td{padding:8px 6px}.stone-info-table input,.stone-info-table select{min-width:60px;padding:4px 6px;font-size:12px}.summary-grid{grid-template-columns:1fr}}.account-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.account-modal-content{background:#fff;border-radius:8px;width:90%;max-width:800px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 4px 20px #00000026}.account-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #e9ecef}.account-modal-header h3{margin:0;color:#333;font-size:1.2rem}.account-modal-close{background:none;border:none;font-size:1.5rem;color:#666;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.account-modal-close:hover{color:#000}.account-search-section{padding:1rem 1.5rem;border-bottom:1px solid #e9ecef}.account-search-bar{display:flex;gap:.5rem}.account-search-input{flex:1;padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:.9rem;background:#f8f9fa}.account-search-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.account-search-button{padding:.5rem 1rem;background-color:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem}.account-search-button:hover{background-color:#0056b3}.account-list-container{flex:1;overflow-y:auto;padding:1rem 1.5rem}.account-loading,.account-error,.account-no-results{display:flex;align-items:center;justify-content:center;height:200px;color:#666;font-size:.9rem}.account-error{color:#dc3545}.account-list{display:flex;flex-direction:column;gap:.75rem}.account-item{border:1px solid #e9ecef;border-radius:6px;padding:1rem;cursor:pointer;transition:all .2s ease;background:#fff}.account-item:hover{border-color:#007bff;box-shadow:0 2px 8px #007bff26;transform:translateY(-1px)}.account-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.account-name{font-weight:700;font-size:1.1rem;color:#333}.account-level{padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:700;color:#fff}.account-level.level-one{background-color:#28a745}.account-level.level-two{background-color:#ffc107;color:#333}.account-level.level-three{background-color:#dc3545}.account-pagination{display:flex;justify-content:center;align-items:center;gap:1rem;padding:1rem 1.5rem;border-top:1px solid #e9ecef}.account-page-button,.account-page-btn{padding:.5rem 1rem;border:1px solid #ddd;background:#fff;color:#333;border-radius:4px;cursor:pointer;font-size:.9rem}.account-page-button:hover:not(:disabled),.account-page-btn:hover:not(:disabled){background-color:#f8f9fa;border-color:#007bff}.account-page-button:disabled,.account-page-btn:disabled{opacity:.5;cursor:not-allowed}.account-page-info{color:#666;font-size:.9rem;min-width:80px;text-align:center}@media (max-width: 768px){.account-modal-content{width:95%;max-height:90vh}.account-modal-header,.account-search-section,.account-list-container,.account-pagination{padding:.75rem 1rem}.account-search-bar{flex-direction:column}.account-item-header{flex-direction:column;align-items:flex-start;gap:.5rem}.account-details{gap:.3rem}.account-detail-row{flex-direction:column;align-items:flex-start;gap:.2rem}.account-detail-row .label{min-width:auto;font-size:.8rem}}.accounts-list{flex:1;overflow-y:auto;padding:0}.accounts-table{display:flex;flex-direction:column;border:1px solid #e9ecef;border-radius:4px;overflow:hidden}.accounts-table .table-header{display:grid;grid-template-columns:2fr 1.5fr 1.5fr 1fr 1fr 1fr 1fr;gap:0;padding:0;background-color:#f8f9fa;border-bottom:1px solid #e9ecef;font-weight:600;color:#495057;font-size:12px}.accounts-table .table-row{display:grid;grid-template-columns:2fr 1.5fr 1.5fr 1fr 1fr 1fr 1fr;gap:0;padding:0;border-bottom:1px solid #f8f9fa;transition:background-color .2s ease;align-items:center}.accounts-table .table-header>span,.accounts-table .table-row>span{padding:.25rem .5rem;border-right:1px solid #ddd;color:#495057;display:flex;align-items:center;justify-content:center;text-align:center;font-size:12px}.accounts-table .table-header>span:last-child,.accounts-table .table-row>span:last-child{border-right:none}.accounts-table .table-row:hover{background-color:#f8f9fa}.accounts-table .table-row:last-child{border-bottom:none}.accounts-table .col-name{font-weight:500;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;justify-content:flex-start!important;text-align:left!important}.accounts-table .col-owner,.accounts-table .col-phone,.accounts-table .col-harry,.accounts-table .col-trade{color:#666;font-size:12px}.level-badge{display:inline-block;padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:600;text-align:center;min-width:40px}.level-badge.level-one{background-color:#28a745;color:#fff}.level-badge.level-two{background-color:#ffc107;color:#212529}.level-badge.level-three{background-color:#dc3545;color:#fff}.accounts-table .select-button{padding:.25rem .5rem;background-color:#28a745;color:#fff;border:none;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.accounts-table .select-button:hover{background-color:#218838}@media (max-width: 768px){.accounts-table .table-header,.accounts-table .table-row{grid-template-columns:1fr;gap:.5rem}.accounts-table .table-header{display:none}.accounts-table .table-row{padding:1rem;border:1px solid #e9ecef;border-radius:4px;margin-bottom:.5rem;background-color:#fff}.accounts-table .table-row>span{display:flex;justify-content:space-between;align-items:center;padding:.25rem 0}.accounts-table .table-row>span:before{content:attr(data-label);font-weight:600;color:#495057;flex-shrink:0;margin-right:1rem}.accounts-table .col-name:before{content:"제조사명: "}.accounts-table .col-owner:before{content:"대표자: "}.accounts-table .col-phone:before{content:"연락처: "}.accounts-table .col-level:before{content:"등급: "}.accounts-table .col-harry:before{content:"해리: "}.accounts-table .col-trade:before{content:"거래방식: "}.accounts-table .col-action:before{content:""}}.account-search-page{width:100%;height:100vh;background:#f5f5f5;box-sizing:border-box}.account-search-container{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;height:100%;display:flex;flex-direction:column;overflow:hidden}.account-search-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem;border-bottom:1px solid #e9ecef;background-color:#f8f9fa}.account-search-header h2{margin:0;font-size:1.25rem;color:#333}.close-button{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}@media (max-width: 768px){.factory-search-page{padding:10px}.search-input-group{flex-direction:column}.search-btn{width:100%}}.store-search-page{width:100%;height:100vh;background:#f5f5f5;box-sizing:border-box}.store-search-container{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;height:100%;display:flex;flex-direction:column;overflow:hidden}.store-search-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #e9ecef;background-color:#f8f9fa}.store-search-header h2{margin:0;color:#333;font-size:1.2rem}.close-button{background:none;border:none;font-size:1.5rem;color:#666;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.close-button:hover{color:#000}.spinner{width:30px;height:30px;border:3px solid #f3f3f3;border-top:3px solid #007bff;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:.5rem}.loading-state p,.error-state p,.empty-state p{margin:0;color:#666;font-size:1rem}.error-state p{color:#dc3545}.stores-list{flex:1;overflow-y:auto;padding:1rem 1.5rem}@media (max-width: 768px){.store-search-page{padding:10px}.search-input-group{flex-direction:column}.search-btn{width:100%}}.product-search-page{width:100%;height:100vh;background:#f5f5f5;box-sizing:border-box}.product-search-container{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;height:100%;display:flex;flex-direction:column;overflow:hidden}.product-search-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #e9ecef;background-color:#f8f9fa}.product-search-header h2{margin:0;font-size:1.25rem;color:#333}.search-products-grid{display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(2,auto);gap:1rem;justify-items:center;flex:1;padding:5px;align-content:start;background:#fff}.search-products-grid:has(.empty-state),.search-products-grid:has(.loading-container),.search-products-grid:has(.error-state){display:flex;align-items:center;justify-content:center}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center;color:#666}.empty-state .empty-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.empty-state h3{margin:0 0 .5rem;font-size:1.25rem;color:#333}.empty-state p{margin:0;font-size:.875rem;color:#999}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem}.loading-container .spinner{width:50px;height:50px;border:4px solid #f3f3f3;border-top:4px solid var(--primary-color, #007bff);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.loading-container p{margin:0;font-size:.875rem;color:#666}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center;color:#dc3545}.error-state p{margin:0;font-size:1rem}.search-product-modal-content{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;width:90%;max-width:1100px;height:700px;display:flex;flex-direction:column;overflow:hidden}.search-product-card{height:auto;width:180px;border:1px solid #ddd;cursor:pointer;border-radius:2px var(--border-radius)}.search-product-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--primary-color)}.search-product-image{height:150px;background-color:#f8f8f8;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:var(--spacing-sm)}.search-product-image img{width:100%;height:100%;object-fit:contain;transition:transform .3s ease;border-radius:var(--border-radius)}.search-product-card:hover .search-product-image img{transform:scale(1.05)}.product-no-image{display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-muted);text-align:center;background-color:var(--bg-primary);border:2px dashed var(--border-color);border-radius:var(--border-radius);margin:var(--spacing-sm);height:calc(100% - calc(var(--spacing-sm) * 2))}.product-no-image span{font-size:1.5rem;margin-bottom:var(--spacing-xs)}.product-no-image p{margin:0;font-size:var(--font-size-xs)}.search-product-info{padding:var(--spacing-sm);flex:1;display:flex;color:#000;flex-direction:column;justify-content:space-between}.search-product-name{font-size:1rem;font-weight:var(--font-weight-bold);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}.search-product-details{flex:1;display:flex;font-size:10px;flex-direction:column}.search-detail-row{display:flex;justify-content:space-between;align-items:center;padding:0}.search-detail-row.combined{display:flex;justify-content:space-between;align-items:flex-start}.search-detail-item{display:flex;align-items:flex-start;gap:4px}.search-labor-cost{color:var(--info-color);font-weight:var(--font-weight-medium);font-size:10px}.search-selling-price{color:var(--primary-color);font-weight:var(--font-weight-bold);font-size:10px}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:20px}.spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}.empty-state{text-align:center;padding:60px 20px;color:var(--text-muted)}.empty-icon{font-size:4rem;display:block;margin-bottom:20px}.empty-state h3{font-size:1.5rem;font-weight:500;margin:0 0 10px;color:var(--text-primary)}.empty-state p{margin:0;font-size:1rem}.account-page{padding:20px;background-color:var(--background-color);min-height:100vh}.account-container{max-width:700px;margin:0 auto;background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a}.account-header{padding:16px 24px;border-bottom:2px solid #e5e7eb}.account-header h2{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:12px;color:#000}.required-mark{font-size:.875rem;color:#dc2626;font-weight:400}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;gap:20px}.spinner{width:50px;height:50px;border:4px solid #f3f4f6;border-top:4px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}.account-form{padding:0 12px}.form-section{margin-bottom:20px}.form-section:last-child{margin-bottom:0}.section-header{display:flex;align-items:center;gap:8px;margin-bottom:10px;padding-bottom:6px;border-bottom:2px solid #e5e7eb}.section-title{font-size:1rem;font-weight:600;color:var(--text-primary)}.section-header .required{color:#dc2626;font-size:1rem;font-weight:600}.form-table{width:100%;border-collapse:collapse;border:1px solid #e5e7eb}.form-table th{background-color:#f9fafb;padding:6px 12px;text-align:left;font-weight:500;color:var(--text-primary);border:1px solid #e5e7eb;width:120px;white-space:nowrap;font-size:.875rem}.form-table th .required{color:#dc2626;margin-right:4px}.form-table td{padding:6px 12px;border:1px solid #e5e7eb}.form-table input[type=text],.form-table select,.form-table textarea{width:100%;padding:6px 10px;border:1px solid #d1d5db;border-radius:4px;font-size:.8125rem;transition:border-color .2s}.form-table input[type=text]:focus,.form-table select:focus,.form-table textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.form-table input[type=text]::placeholder,.form-table textarea::placeholder{color:#9ca3af}.form-table select{cursor:pointer;background-color:#fff}.form-table textarea{resize:vertical;min-height:60px;font-family:inherit}.input-group{display:flex;gap:8px;align-items:center}.input-group input{flex:1}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.checkbox-label span{font-size:.875rem;color:var(--text-primary)}.form-actions{display:flex;justify-content:center;gap:12px;margin-top:20px;padding-top:16px;border-top:2px solid #e5e7eb}@media (max-width: 768px){.account-page{padding:12px}.account-header{padding:16px}.account-header h2{font-size:1.25rem}.account-form{padding:16px}.form-table th{width:120px;font-size:.875rem;padding:10px 12px}.form-table td{padding:10px 12px}.form-table input[type=text],.form-table select,.form-table textarea{font-size:.8125rem}.form-actions{flex-direction:column}}.loading-state{padding:40px 20px;text-align:center}.loading-state .spinner{width:40px;height:40px;border:4px solid #f3f4f6;border-top-color:#007bff;border-radius:50%;margin:0 auto 15px;animation:spin 1s linear infinite}.loading-state p{color:#6c757d;font-size:14px;margin:0}.empty-state{padding:40px 20px;text-align:center}.empty-state p{color:#6c757d;font-size:14px;margin:0}.stores-table-container{overflow-x:auto;max-height:calc(100vh - 300px);overflow-y:auto}.stores-table{width:100%;border-collapse:collapse;font-size:14px;background:#fff}.stores-table thead{background:#e9ecef;position:sticky;top:0;z-index:10}.stores-table th{padding:12px 8px;text-align:center;font-weight:600;color:#495057;border:1px solid #dee2e6;white-space:nowrap;background:#e9ecef}.stores-table tbody tr{border-bottom:1px solid #dee2e6}.stores-table tbody tr:hover{background:#f8f9fa}.stores-table td{padding:10px 8px;color:#212529;border:1px solid #dee2e6;text-align:center}.stores-table .store-name{font-weight:500;text-align:left;padding-left:12px}.stores-table .gold-weight{text-align:right;font-weight:500;color:#fd7e14;padding-right:12px}.stores-table .money-amount{text-align:right;font-weight:600;color:#007bff;padding-right:12px}.stores-table .date-cell{text-align:center;white-space:nowrap}.stores-table .address-cell,.stores-table .note-cell{text-align:left;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.level-badge{display:inline-block;padding:4px 10px;border-radius:3px;font-size:12px;font-weight:600;text-align:center}.level-badge.level-s{background:#f8d7da;color:#721c24}.level-badge.level-a{background:#fff3cd;color:#856404}.level-badge.level-b{background:#d1ecf1;color:#0c5460}.level-badge.level-c{background:#d4edda;color:#155724}.level-badge.level-d{background:#e2e3e5;color:#383d41}@media (max-width: 768px){.stores-table{font-size:13px}.stores-table th,.stores-table td{padding:8px 6px}}.accounts-receivable-page{width:100%;height:100%;padding:20px;box-sizing:border-box}.accounts-receivable-page .page-header{margin-bottom:20px}.accounts-receivable-page .page-header h1{font-size:24px;font-weight:600;color:#333;margin:0}.accounts-receivable-page .search-section{background:#f8f9fa;padding:15px;border-radius:4px;margin-bottom:15px;border:1px solid #dee2e6}.accounts-receivable-page .search-input-group{display:flex;gap:10px;max-width:600px}.accounts-receivable-page .search-input{flex:1;padding:8px 12px;border:1px solid #ced4da;border-radius:4px;font-size:14px}.accounts-receivable-page .search-input:focus{outline:none;border-color:#80bdff;box-shadow:0 0 0 .2rem #007bff40}.accounts-receivable-page .search-btn{padding:8px 20px;background:#007bff;color:#fff;border:none;border-radius:4px;font-size:14px;cursor:pointer;white-space:nowrap}.accounts-receivable-page .search-btn:hover:not(:disabled){background:#0056b3}.accounts-receivable-page .search-btn:disabled{background:#6c757d;cursor:not-allowed}.accounts-receivable-page .content-section{background:#fff;border:1px solid #dee2e6;border-radius:4px}.accounts-receivable-page .loading-state,.accounts-receivable-page .error-state,.accounts-receivable-page .empty-state{padding:40px 20px;text-align:center}.accounts-receivable-page .loading-state .spinner{width:40px;height:40px;border:4px solid #f3f4f6;border-top-color:#007bff;border-radius:50%;margin:0 auto 15px;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.accounts-receivable-page .loading-state p,.accounts-receivable-page .empty-state p{color:#6c757d;font-size:14px;margin:0}.accounts-receivable-page .error-state p{color:#dc3545;font-size:14px;margin:0}.accounts-receivable-page .stores-table-container{overflow-x:auto;max-height:calc(100vh - 300px);overflow-y:auto}.accounts-receivable-page .stores-table{width:100%;border-collapse:collapse;font-size:14px;background:#fff}.accounts-receivable-page .stores-table thead{background:#e9ecef;position:sticky;top:0;z-index:10}.accounts-receivable-page .stores-table th{padding:12px 8px;text-align:center;font-weight:600;color:#495057;border:1px solid #dee2e6;white-space:nowrap;background:#e9ecef}.accounts-receivable-page .stores-table tbody tr{border-bottom:1px solid #dee2e6}.accounts-receivable-page .stores-table tbody tr:hover{background:#f8f9fa}.accounts-receivable-page .stores-table td{padding:10px 8px;color:#212529;border:1px solid #dee2e6;text-align:center}.accounts-receivable-page .stores-table .store-name{font-weight:500;text-align:left;padding-left:12px}.accounts-receivable-page .stores-table .gold-weight{text-align:right;font-weight:500;color:#fd7e14;padding-right:12px}.accounts-receivable-page .stores-table .money-amount{text-align:right;font-weight:600;color:#007bff;padding-right:12px}.accounts-receivable-page .level-badge{display:inline-block;padding:4px 10px;border-radius:3px;font-size:12px;font-weight:600;text-align:center}.accounts-receivable-page .level-badge.level-s{background:#f8d7da;color:#721c24}.accounts-receivable-page .level-badge.level-a{background:#fff3cd;color:#856404}.accounts-receivable-page .level-badge.level-b{background:#d1ecf1;color:#0c5460}.accounts-receivable-page .level-badge.level-c{background:#d4edda;color:#155724}.accounts-receivable-page .level-badge.level-d{background:#e2e3e5;color:#383d41}@media (max-width: 768px){.accounts-receivable-page{padding:10px}.accounts-receivable-page .page-header h1{font-size:20px}.accounts-receivable-page .search-input-group{max-width:100%}.accounts-receivable-page .stores-table{font-size:13px}.accounts-receivable-page .stores-table th,.accounts-receivable-page .stores-table td{padding:8px 6px}}.sale-table td{padding:3px 1px;text-align:center;vertical-align:middle;border:1px solid #ddd;color:#333;font-weight:700}.sale-table th{padding:2px 6px;text-align:center;font-weight:600;color:#000;border-bottom:1px solid #dee2e6;border-right:1px solid #f1f3f4;white-space:nowrap;background-color:#fff;position:sticky;top:0;z-index:10}.sale-row{cursor:pointer;transition:background-color .2s ease}.sale-row:hover{background-color:#f8f9fa}.sale-row-discount{background-color:#e3f2fd}.sale-row-discount:hover{background-color:#bbdefb}.sale-row-wg{background-color:#fff9c4}.sale-row-wg:hover{background-color:#fff59d}.sale-row-payment{background-color:#fffde7}.sale-row-payment:hover{background-color:#fff9c4}.sale-row-payment-bank{background-color:#fffef0}.sale-row-payment-bank:hover{background-color:#fffde7}.sale-row-return{background-color:#ffebee}.sale-row-return:hover{background-color:#ffcdd2}.no-cell{width:30px;min-width:30px}.date-cell{width:55px;max-width:100px!important;overflow:hidden;text-overflow:ellipsis}.sale-type-cell{width:50px;min-width:50px}.store-cell{padding-left:3px!important;text-align:left!important;justify-content:left!important;width:80px;min-width:80px}.material-cell,.color-cell{width:40px;min-width:30px}.material-name-18k{color:#d32f2f}.material-name-24k{color:#f9bf00}.note-cell{width:80px;min-width:80px;white-space:normal!important;word-wrap:break-word;overflow-wrap:break-word;line-height:1.3}.product-cell{width:100px;min-width:100px}.classification-cell{width:70px;min-width:70px}.quantity-cell{width:50px;min-width:50px}.gold-weight-cell{width:70px;min-width:70px}.price-cell,.stone-price-cell,.gold-price-cell{width:90px;min-width:90px}.total-price-cell{width:100px;min-width:100px;font-weight:500}.sale-code-cell{width:60px;max-width:60px;overflow:hidden;text-overflow:ellipsis}.flow-code-cell{width:60px;max-width:60px!important;overflow:hidden;text-overflow:ellipsis}.sale-code-link,.flow-code-link{color:#007bff;text-decoration:none;cursor:pointer;display:flex;align-items:center;width:100%;height:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sale-code-link:hover,.flow-code-link:hover{text-decoration:underline;color:#0056b3}.assistant-stone-cell{width:20px;min-width:20px}.assistant-stone-cell .status{padding:2px 6px;border-radius:3px;font-weight:700;width:40px;min-width:40px}.assistant-stone-cell .status.active{color:#007bff}.assistant-stone-cell .status.inactive{color:#d32f2f}.assistant-stone-name-cell{width:60px;min-width:60px}.total-weight-cell,.gold-weight-cell{width:40px;min-width:40px}.total-product-labor-cost-cell,.main-stone-labor-cost-cell,.assistance-stone-labor-cost-cell,.stone-add-labor-cost-cell{width:50px;min-width:50px}.main-stone-quantity-cell,.assistance-stone-quantity-cell{width:30px;min-width:30px}.loading-message,.no-data-message{text-align:center;padding:60px 20px;color:var(--text-secondary);font-size:16px}.loading-message{color:var(--text-color)}@media (max-width: 768px){.sale-table{font-size:12px;min-width:1400px}.sale-table th,.sale-table td{padding:6px}}.sale-page{width:100%;min-height:100vh;padding:20px;background-color:var(--background-color);color:var(--text-color)}.sale-page{background-color:var(--error-background);border-left:4px solid var(--error-border);padding:16px;margin-bottom:20px;border-radius:4px;display:flex;align-items:center;gap:12px;max-width:1200px;margin-left:auto;margin-right:auto}.sale-page .sale-list{margin-top:20px}@media (max-width: 768px){.sale-page{padding:10px}}.sale-option-container{display:flex;flex-direction:column;gap:12px;background:#fff;border:1px solid #ddd;border-radius:4px;padding:16px}.sale-option-row{display:flex;gap:12px;flex-wrap:wrap}.sale-option-field-search{flex:1;min-width:140px;max-width:180px;display:flex;flex-direction:column;gap:4px}.sale-option-field-search-container{display:flex;flex-direction:row;gap:4px}.sale-option-field{flex:1;min-width:100px;max-width:120px;display:flex;flex-direction:column;gap:4px}.sale-option-field-search label,.sale-option-field label{font-size:10px;font-weight:600;color:#333}.sale-option-field-search label.required-field:before,.sale-option-field label.required-field:before{content:"* ";color:#e74c3c}.sale-option-field-search input,.sale-option-field-search select,.sale-option-field input,.sale-option-field select{border:1px solid #ddd;border-radius:4px;font-size:11px}.sale-option-field-search input:disabled,.sale-option-field-search select:disabled,.sale-option-field input:disabled,.sale-option-field select:disabled{background-color:#f5f5f5;cursor:not-allowed}.sale-option-field input[readonly]{background-color:#fff;cursor:pointer}.btn-search{padding:8px 12px;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer;font-size:14px}.btn-search:hover:not(:disabled){background:#f8f9fa}.btn-search:disabled{cursor:not-allowed;opacity:.5}.gold-history-container{background:#fff;border:1px solid #ddd;border-radius:4px;padding:16px;flex:1;color:#000}.gold-history-header{margin-bottom:12px}.gold-history-header h3{font-size:16px;font-weight:600;color:#333;margin:0}.gold-history-table{display:flex;flex-direction:column;border:1px solid #ddd}.gold-history-table-header{display:grid;grid-template-columns:120px 1fr 1fr;background-color:#f0f0f0;border-bottom:1px solid #ddd}.gold-history-header-cell{text-align:center;font-size:13px;font-weight:600;border-right:1px solid #ddd}.gold-history-header-cell:last-child{border-right:none}.gold-history-table-row{display:grid;grid-template-columns:120px 1fr 1fr;border-bottom:1px solid #ddd}.gold-history-table-row:last-child{border-bottom:none}.gold-history-label-cell{text-align:center;font-size:10px;font-weight:600;background-color:#f9f9f9;border-right:1px solid #ddd;display:flex;align-items:center;justify-content:center}.gold-history-value-cell{border-right:1px solid #ddd}.gold-history-value-cell:last-child{border-right:none}.gold-history-value-cell input{color:#000;width:100%;border:none;font-size:10px;text-align:right;background:transparent}.gold-history-value-cell input:disabled{cursor:not-allowed}.sale-table-container{background-color:#fff;border-radius:8px;overflow:auto;box-shadow:0 2px 4px #0000001a;padding:5px;font-size:10px;margin-top:8px;margin-bottom:8px}.sale-table{font-size:10px;background-color:#fff;color:#000;border-collapse:collapse;width:100%}.sale-table th{background-color:#f8f9fa;text-align:center;font-weight:600;color:#333;white-space:nowrap;border:1px solid #ddd;position:sticky;top:0;z-index:1}.sale-table tbody tr:hover{background-color:#f8f9fa}.sale-table select,.sale-table input{width:100%;padding:2px 3px;border:1px solid #ddd;border-radius:3px;background-color:#fff;color:#333}.sale-table select:focus,.sale-table input:focus{outline:none;border-color:var(--primary-color)}.sale-table select:disabled,.sale-table input:disabled{background-color:#f5f5f5;cursor:not-allowed}.sale-table input[type=date]{-moz-appearance:textfield;appearance:textfield;text-align:center}.sale-table input[type=date]::-webkit-calendar-picker-indicator{width:100%;min-width:45px;padding:2px 3px;border:1px solid #ddd;border-radius:3px;font-size:10px;background-color:#fff;color:#333;display:none;-webkit-appearance:none;text-align:center}.search-field-container{display:flex;align-items:center;gap:2px;position:relative}.search-field-container input{flex:1;padding-right:20px}.search-icon{position:absolute;right:4px;cursor:pointer;font-size:12px;-webkit-user-select:none;user-select:none}.required-field{color:#e74c3c}.search-type-cell{width:80px}.drop-down-cell-small{width:40px}.drop-down-cell{width:60px}.drop-down-cell3{width:50px}.drop-down-cell2{width:70px}.money-cell{width:50px}.money-cell-large{width:70px}.stone-count-cell{width:30px}.stock-note-cell{width:50px}.stock-note-cell-large{width:70px}.stock-size-cell{width:45px}.sale-create-page{padding:20px;background:#f5f5f5;min-height:100vh;overflow-y:auto}.sale-create-content{display:flex;flex-direction:column}.sale-create-top-row{display:flex;margin-bottom:8px}.product-image-section{flex:0 0 25%;background:#fff;border:1px solid #ddd;border-radius:4px;display:flex;align-items:center;justify-content:center;margin-right:4px}.sale-create-top-row .sale-option-container{flex:0 0 40%;margin-right:4px}.sale-create-top-row .gold-history-container{flex:1}.product-image-placeholder{padding:20px;display:flex;align-items:center;justify-content:center;max-height:200px;height:100%;max-width:200px}.product-image-placeholder p{color:#999;font-size:16px;margin:0}.barcode-printer-settings{padding:20px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.printer-status{margin-bottom:16px;padding:12px;background:#f5f5f5;border-radius:4px;font-size:14px}.printer-error{margin-bottom:16px;padding:12px;background:#fee;border:1px solid #fcc;border-radius:4px;color:#c33;font-size:14px}.printer-select-section{margin-bottom:20px}.printer-select-section label{display:block;margin-bottom:8px;font-weight:600;font-size:14px;color:#333}.printer-select{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px;background:#fff}.printer-select:focus{outline:none;border-color:#4a90e2}.no-printer{color:#999;font-size:14px;margin:8px 0}.printer-test-section{margin-top:20px}.test-print-btn{padding:10px 20px;background:#4a90e2;color:#fff;border:none;border-radius:4px;font-size:14px;cursor:pointer;transition:background .2s}.test-print-btn:hover:not(:disabled){background:#357abd}.test-print-btn:disabled{background:#ccc;cursor:not-allowed}.print-status{margin-top:12px;padding:10px;background:#f0f8ff;border-radius:4px;font-size:13px;color:#333}.setting-page{padding:2rem 3rem;min-height:calc(100vh - 60px);overflow-y:auto;overflow-x:hidden}.setting-list{display:grid;background:var(--bg-secondary);grid-template-columns:repeat(3,minmax(0,1fr));max-width:1200px;min-width:1200px;margin:0 auto;width:100%;gap:0}@media (max-width: 1280px){.setting-page{padding:2rem 1.5rem}.setting-list{max-width:100%;min-width:auto}.category-group{margin:.75rem!important;padding:1.25rem!important;min-width:250px!important}.category-title{font-size:1.15rem}.card-label{font-size:.9rem}}@media (max-width: 1024px){.setting-page{padding:1.5rem 1rem}.setting-list{grid-template-columns:repeat(2,minmax(0,1fr));max-width:100%;min-width:auto}.category-group{margin:.5rem!important;padding:1rem!important}.category-title{font-size:1.1rem;padding-bottom:.5rem}.card-label{font-size:.875rem}.setting-card{padding:.875rem .5rem}}@media (max-width: 768px){.setting-page{padding:1rem .5rem}.setting-list{grid-template-columns:1fr;max-width:100%;min-width:auto}.category-group{margin:.25rem!important;padding:.75rem!important}.category-title{font-size:1rem;padding-bottom:.5rem}.card-label{font-size:.85rem}.setting-card{padding:.75rem .5rem}}@media (max-width: 480px){.setting-page{padding:.75rem .25rem}.category-group{margin:.25rem!important;padding:.5rem!important;border-radius:6px!important}.category-title{font-size:.95rem;padding-bottom:.4rem}.card-label{font-size:.8rem}.setting-card{padding:.6rem .4rem}.admin-badge{font-size:9px;padding:1px 4px}}.category-group{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:1.5rem;margin:1rem;box-shadow:0 2px 4px #0000000d}.category-title{font-size:1.25rem;font-weight:700;color:#333;padding-bottom:.75rem;border-bottom:2px solid #e0e0e0}.category-grid{display:flex;flex-direction:column;gap:0}.setting-card{padding:1rem .5rem;cursor:pointer;transition:all .2s ease;border-bottom:1px solid #f0f0f0}.setting-card:last-child{border-bottom:none}.setting-card:hover{background:#f9f9f9}.setting-card:hover .card-label{color:var(--primary-light)}.setting-card.admin-only{background:#fff8f8}.card-content{display:flex;align-items:center;justify-content:space-between}.card-label{font-size:.95rem;font-weight:500;color:#555;transition:color .2s ease}.admin-badge{font-size:10px;padding:2px 6px;background:#d32f2f;color:#fff;border-radius:3px;font-weight:600}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:12px;width:90%;max-width:600px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem;border-bottom:1px solid #e0e0e0}.modal-header h2{margin:0;font-size:1.5rem;font-weight:700;color:#333}.close-btn{background:none;border:none;font-size:2rem;color:#666;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease;line-height:1}.close-btn:hover{background:#f5f5f5;color:#333}.modal-body{padding:2rem;overflow-y:auto;flex:1}.setting-popup-page{display:flex;flex-direction:column;width:100%;height:100vh;background:#f5f5f5;padding:5px}.setting-popup-list{background-color:#fff;overflow-y:auto;overflow-x:hidden;margin-top:5px;width:100%;padding:10px;flex:1}.popup-header{background:#fff;padding:.5rem 1rem;border-bottom:2px solid #e0e0e0}.popup-header h1{margin:0;font-size:1.75rem;font-weight:700;color:#333}.popup-search-section{background:#fff;padding:.5rem 1rem;border-bottom:1px solid #e0e0e0}.popup-search-section form{display:flex;gap:.75rem}.popup-content{flex:1;overflow-y:auto;padding:1.5rem 2rem}.loading-state,.empty-state{display:flex;align-items:center;justify-content:center;height:100%;font-size:1rem;color:#666}.items-table{width:100%;background:#fff;overflow:hidden;border:1px solid #e0e0e0;border-collapse:collapse}.items-table thead{background:#f9f9f9;border:1px solid #e0e0e0;border-collapse:collapse}.items-table th{padding:.5rem;text-align:left;font-weight:600;color:#333;font-size:.95rem;border:1px solid #e0e0e0;background-color:#f2f2f2;text-align:center}.items-table th:first-child{width:20%}.items-table tbody tr{border-bottom:1px solid #e0e0e0;transition:.2s}.items-table tbody tr:hover{background:#f9f9f9}.items-table tbody tr:last-child{border-bottom:none}.items-table td{padding:.5rem;color:#555;border:1px solid #e0e0e0;font-size:.9rem;text-align:center}.popup-pagination{padding:1rem 2rem;background:#fff;border-top:1px solid #e0e0e0}.create-form-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.create-form-modal{background:#fff;border-radius:8px;width:90%;max-width:400px;box-shadow:0 4px 12px #00000026}.create-form-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid #e0e0e0}.create-form-header h3{margin:0;font-size:1.25rem;font-weight:600;color:#333}.close-button{background:none;border:none;font-size:1.5rem;color:#666;cursor:pointer;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.close-button:hover{background:#f5f5f5;color:#333}.create-form-body{padding:1.5rem}.form-group{margin-bottom:1rem}.form-group:last-child{margin-bottom:0}.form-group label{display:block;margin-bottom:.5rem;font-size:.9rem;font-weight:500;color:#333}.form-group input{width:100%;padding:.75rem;border:1px solid #e0e0e0;border-radius:4px;font-size:.95rem;transition:all .2s;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#1976d2;box-shadow:0 0 0 3px #1976d21a}.create-form-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid #e0e0e0}.user-management-popup-page{width:100%;height:100vh;display:flex;flex-direction:column;background:#f5f5f5;overflow:hidden}.popup-header{padding:20px;background:#fff;border-bottom:1px solid #e0e0e0}.user-management-list{flex:1;overflow-y:auto;padding:20px}.users-table{width:100%;border-collapse:collapse;background:#fff;box-shadow:0 1px 3px #0000001a}.users-table thead{background:#f8f9fa;position:sticky;top:0;z-index:1}.users-table th,.users-table td{padding:12px;text-align:left;border-bottom:1px solid #e0e0e0}.users-table th{font-weight:600;color:#333}.users-table tbody tr:hover{background-color:#f8f9fa;cursor:pointer}.loading-state,.empty-state{display:flex;justify-content:center;align-items:center;height:300px;font-size:16px;color:#666}.create-form-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.create-form-modal{background:#fff;border-radius:8px;width:90%;max-width:500px;max-height:80vh;overflow-y:auto;box-shadow:0 4px 20px #00000026}.create-form-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e0e0e0}.create-form-header h3{margin:0;font-size:18px;font-weight:600}.close-button{background:none;border:none;font-size:24px;cursor:pointer;color:#666;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.close-button:hover{color:#333}.create-form-body{padding:20px}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#333}.form-group input,.form-group select{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px;box-sizing:border-box}.form-group input:focus,.form-group select:focus{outline:none;border-color:#007bff}.form-group .disabled-input{background-color:#f5f5f5;color:#666;cursor:not-allowed}.create-form-footer{display:flex;justify-content:flex-end;gap:10px;padding:20px;border-top:1px solid #e0e0e0}.cancel-btn,.submit-btn,.delete-btn{padding:8px 16px;border:none;border-radius:4px;font-size:14px;cursor:pointer;transition:background-color .2s}#root{max-width:100%;margin:0;padding:0;height:100vh;width:100vw}.app-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;background-color:var(--bg-color);color:var(--text-color)}.app-loading .spinner{width:40px;height:40px;border:4px solid var(--border-color);border-top:4px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.app-loading p{margin:0;font-size:1rem;color:var(--text-muted)}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}:root{--primary-color: #28a745;--primary-light: #34ce57;--primary-dark: #1e7e34;--secondary-color: #6c757d;--success-color: #28a745;--danger-color: #dc3545;--warning-color: #ffc107;--info-color: #17a2b8;--light-color: #f8f9fa;--dark-color: #343a40;--text-primary: #212529;--text-secondary: #6c757d;--text-muted: #6c757d;--text-white: #ffffff;--bg-primary: #ffffff;--bg-secondary: #f8f9fa;--bg-dark: #343a40;--shadow-sm: 0 .125rem .25rem rgba(0, 0, 0, .075);--shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);--shadow-lg: 0 1rem 3rem rgba(0, 0, 0, .175);--border-radius: .375rem;--border-radius-sm: .25rem;--border-radius-lg: .5rem;--border-color: #dee2e6;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 3rem;--font-family-base: "Noto Sans KR", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif;--font-size-base: 1rem;--font-size-sm: .875rem;--font-size-lg: 1.125rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-bold: 700;--transition-base: all .3s ease;--transition-fast: all .15s ease;--sidebar-width-desktop: 140px;--sidebar-width-tablet: 120px;--sidebar-width-mobile: 80px;--content-max-width-desktop: 1400px;--content-max-width-tablet: 1200px}@media (prefers-color-scheme: dark){:root{--text-primary: #f8f9fa;--text-secondary: #adb5bd;--bg-primary: #212529;--bg-secondary: #343a40;--border-color: #495057}}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-family-base);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);color:var(--text-primary);background-color:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;height:100%}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:4px}::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--primary-color) 60%,transparent);border-radius:4px;transition:background .3s ease}::-webkit-scrollbar-thumb:hover{background:var(--primary-color)}*{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--primary-color) 60%,transparent) var(--bg-secondary)}a{color:var(--primary-color);text-decoration:none;transition:var(--transition-fast)}a:hover{color:color-mix(in srgb,var(--primary-color) 80%,black 20%);text-decoration:underline}button{font-family:inherit;cursor:pointer;border:none;outline:none;transition:var(--transition-fast)}button:disabled{cursor:not-allowed;opacity:.6}input,textarea,select{font-family:inherit;font-size:inherit;border:1px solid var(--border-color);border-radius:var(--border-radius);padding:var(--spacing-sm) var(--spacing-md);transition:var(--transition-fast)}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 .2rem #007bff40}img{max-width:100%;height:auto}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--border-radius)}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.loading-container{display:flex;flex-direction:column;text-align:center;align-items:center;height:100%;justify-content:center}.loading-container p{color:var(--text-muted);font-size:var(--font-size-base);margin:0}.spinner{width:50px;height:50px;border:4px solid var(--border-color);border-top:4px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:var(--spacing-md)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-message{display:flex;align-items:center;gap:var(--spacing-xs);background-color:#dc35451a;border:1px solid rgba(220,53,69,.3);border-radius:var(--border-radius);padding:var(--spacing-sm);margin-bottom:var(--spacing-lg);color:var(--danger-color);font-size:var(--font-size-sm)}.error-message span{font-size:1rem}.error-message p{margin:0}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-primary{color:var(--primary-color)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-white{color:var(--text-white)}.text-danger{color:var(--danger-color)}.text-success{color:var(--success-color)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-bold{font-weight:var(--font-weight-bold)}.m-0{margin:0}.m-1{margin:var(--spacing-xs)}.m-2{margin:var(--spacing-sm)}.m-3{margin:var(--spacing-md)}.m-4{margin:var(--spacing-lg)}.m-5{margin:var(--spacing-xl)}.mt-0{margin-top:0}.mt-1{margin-top:var(--spacing-xs)}.mt-2{margin-top:var(--spacing-sm)}.mt-3{margin-top:var(--spacing-md)}.mt-4{margin-top:var(--spacing-lg)}.mt-5{margin-top:var(--spacing-xl)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--spacing-xs)}.mb-2{margin-bottom:var(--spacing-sm)}.mb-3{margin-bottom:var(--spacing-md)}.mb-4{margin-bottom:var(--spacing-lg)}.mb-5{margin-bottom:var(--spacing-xl)}.ml-0{margin-left:0}.ml-1{margin-left:var(--spacing-xs)}.ml-2{margin-left:var(--spacing-sm)}.ml-3{margin-left:var(--spacing-md)}.ml-4{margin-left:var(--spacing-lg)}.ml-5{margin-left:var(--spacing-xl)}.mr-0{margin-right:0}.mr-1{margin-right:var(--spacing-xs)}.mr-2{margin-right:var(--spacing-sm)}.mr-3{margin-right:var(--spacing-md)}.mr-4{margin-right:var(--spacing-lg)}.mr-5{margin-right:var(--spacing-xl)}.p-0{padding:0}.p-1{padding:var(--spacing-xs)}.p-2{padding:var(--spacing-sm)}.p-3{padding:var(--spacing-md)}.p-4{padding:var(--spacing-lg)}.p-5{padding:var(--spacing-xl)}.pt-0{padding-top:0}.pt-1{padding-top:var(--spacing-xs)}.pt-2{padding-top:var(--spacing-sm)}.pt-3{padding-top:var(--spacing-md)}.pt-4{padding-top:var(--spacing-lg)}.pt-5{padding-top:var(--spacing-xl)}.pb-0{padding-bottom:0}.pb-1{padding-bottom:var(--spacing-xs)}.pb-2{padding-bottom:var(--spacing-sm)}.pb-3{padding-bottom:var(--spacing-md)}.pb-4{padding-bottom:var(--spacing-lg)}.pb-5{padding-bottom:var(--spacing-xl)}.pl-0{padding-left:0}.pl-1{padding-left:var(--spacing-xs)}.pl-2{padding-left:var(--spacing-sm)}.pl-3{padding-left:var(--spacing-md)}.pl-4{padding-left:var(--spacing-lg)}.pl-5{padding-left:var(--spacing-xl)}.pr-0{padding-right:0}.pr-1{padding-right:var(--spacing-xs)}.pr-2{padding-right:var(--spacing-sm)}.pr-3{padding-right:var(--spacing-md)}.pr-4{padding-right:var(--spacing-lg)}.pr-5{padding-right:var(--spacing-xl)}.d-none{display:none}.d-block{display:block}.d-inline{display:inline}.d-inline-block{display:inline-block}.d-flex{display:flex}.d-grid{display:grid}.flex-row{flex-direction:row}.flex-column{flex-direction:column}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.align-start{align-items:flex-start}.align-center{align-items:center}.align-end{align-items:flex-end}.position-relative{position:relative}.position-absolute{position:absolute}.position-fixed{position:fixed}.position-sticky{position:sticky}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow{box-shadow:var(--shadow)}.shadow-lg{box-shadow:var(--shadow-lg)}.hidden{display:none}@media (max-width: 768px){.hidden-mobile{display:none}}@media (min-width: 769px){.hidden-desktop{display:none}}.page{padding:20px;background-color:var(--background-color);display:flex;flex-direction:column;align-items:center}.table{width:100%;font-size:10px;background-color:#fff;color:#000;border-collapse:collapse}.table th{padding:2px 6px;text-align:center;font-weight:600;border-bottom:1px solid #dee2e6;border-right:1px solid #dee2e6;color:#000;white-space:nowrap;background-color:#fff;position:relative;top:0;z-index:10}.table td{padding:2px 4px;text-align:center;border-right:1px solid #dee2e6;border-bottom:1px solid #dee2e6;vertical-align:middle;color:#000}.table tbody tr:hover{background-color:#f8f9fa}.table tbody tr:last-child{border-bottom:none}.list{overflow-x:auto;background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;max-width:1200px;min-width:1000px;margin:0 auto;width:100%;display:block;scroll-behavior:smooth}.list::-webkit-scrollbar{height:8px}.list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.list::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.list::-webkit-scrollbar-thumb:hover{background:#555}.btn{display:inline-block;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);text-align:center;text-decoration:none;border:1px solid transparent;border-radius:var(--border-radius);cursor:pointer;transition:var(--transition-base);-webkit-user-select:none;user-select:none}.btn:hover{text-decoration:none;transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-primary{color:var(--text-white);background-color:var(--primary-color);border-color:var(--primary-color)}.btn-primary:hover{background-color:color-mix(in srgb,var(--primary-color) 90%,black 10%);border-color:color-mix(in srgb,var(--primary-color) 90%,black 10%)}.btn-secondary{color:var(--text-white);background-color:var(--secondary-color);border-color:var(--secondary-color)}.btn-outline-primary{color:var(--primary-color);background-color:transparent;border-color:var(--primary-color)}.btn-outline-primary:hover{color:var(--text-white);background-color:var(--primary-color)}.btn-sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm)}.btn-lg{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-lg)}.no-btn{background:none;border:none;color:var(--primary-color);font-weight:600;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s}.no-btn:hover{background-color:var(--primary-color);color:#fff}.card{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);overflow:hidden;transition:var(--transition-base)}.card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.card-header{padding:var(--spacing-md);background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);font-weight:var(--font-weight-medium)}.card-body{padding:var(--spacing-md)}.card-footer{padding:var(--spacing-md);background-color:var(--bg-secondary);border-top:1px solid var(--border-color)}.form-group{margin-bottom:var(--spacing-md)}.form-label{display:block;margin-bottom:var(--spacing-xs);font-weight:var(--font-weight-medium);color:var(--text-primary)}.form-control{display:block;width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);line-height:1.5;color:var(--text-primary);background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--border-radius);transition:var(--transition-fast)}.form-control:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 .2rem #007bff40}.form-control.is-invalid{border-color:var(--danger-color)}.form-control.is-invalid:focus{border-color:var(--danger-color);box-shadow:0 0 0 .2rem #dc354540}.invalid-feedback{display:block;width:100%;margin-top:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--danger-color)}.alert{padding:var(--spacing-md);margin-bottom:var(--spacing-md);border:1px solid transparent;border-radius:var(--border-radius)}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeaa7}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.spinner{display:inline-block;width:1.5rem;height:1.5rem;border:.2em solid var(--border-color);border-right-color:transparent;border-radius:50%;animation:spinner-rotate .75s linear infinite}@keyframes spinner-rotate{to{transform:rotate(360deg)}}.auth-image-loading{display:flex;align-items:center;justify-content:center;background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;min-height:100px}.auth-image-loading .spinner{width:1rem;height:1rem}@media (max-width: 1400px){.table{font-size:13px}.table th,.table td{padding:10px 6px}}@media (max-width: 1200px){.filter-row-order{flex-direction:column;align-items:stretch}.filter-group-order{width:100%}.filter-group-order select{width:100%;min-width:auto}.search-controls-order{flex-direction:column;align-items:stretch}.search-input-order{min-width:auto}}@media (max-width: 768px){.page{padding:10px}.search-section-order{padding:5px}.table{font-size:12px}.table th,.table td{padding:8px 4px}.product-name-order{max-width:120px}.info-cell{min-width:100px}.note-cell-order{max-width:100px}}.container{display:flex;flex-direction:column;overflow:hidden;height:100%}.layout-body{display:flex;flex:1;overflow:hidden}.top-bar{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);background:linear-gradient(135deg,var(--primary-color),color-mix(in srgb,var(--primary-color) 90%,var(--dark-color) 10%));color:var(--text-white);box-shadow:var(--shadow);z-index:1000;position:relative;overflow:visible}.top-bar-left{display:flex;align-items:center;gap:var(--spacing-md)}.top-bar-left h2{margin:0;font-size:1.5rem;font-weight:var(--font-weight-bold);color:var(--text-white)}.sidebar-toggle-btn{display:flex;flex-direction:column;justify-content:center;align-items:center;width:32px;height:32px;background:transparent;border:none;cursor:pointer;padding:4px;border-radius:var(--border-radius);transition:background-color .2s ease}.sidebar-toggle-btn:hover{background-color:#ffffff1a}.hamburger-line{display:block;width:20px;height:2px;background-color:var(--text-white);margin:2px 0;transition:all .3s ease;border-radius:1px}.sidebar-toggle-btn:hover .hamburger-line{background-color:#ffffffe6}.top-bar-right{display:flex;align-items:center;gap:var(--spacing-md)}.token-section{position:relative;display:flex;flex-direction:column}.token-timer{display:flex;align-items:center;gap:var(--spacing-xs);background-color:#ffffff1a;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-white);border:1px solid rgba(255,255,255,.2);transition:all .3s ease;cursor:pointer;min-width:150px}.token-timer:hover{background-color:#ffffff26}.token-timer.expired{background-color:#f003;border-color:#f006;color:#fcc;animation:pulse-warning 2s infinite}.token-timer.warning{background-color:#ffa50033;border-color:#ffa50066;color:#ffe4b5;animation:pulse-warning 3s infinite}.refresh-indicator{animation:rotate 1s linear infinite;margin-left:4px}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.toggle-icon{margin-left:auto;font-size:10px;opacity:.7}.token-details-dropdown{position:absolute;top:100%;right:0;margin-top:8px;background:#000000e6;border:1px solid rgba(255,255,255,.2);border-radius:var(--border-radius);padding:var(--spacing-sm);min-width:200px;box-shadow:0 4px 12px #0000004d;z-index:1001;animation:fadeInDown .2s ease-out}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.token-detail-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0;font-size:var(--font-size-xs);color:var(--text-white);border-bottom:1px solid rgba(255,255,255,.1)}.token-detail-row:last-child{border-bottom:none}.token-detail-row .warning{color:#ff6b6b}.token-detail-row .normal{color:#51cf66}.token-actions{margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid rgba(255,255,255,.1);text-align:center}.manual-refresh-btn{background:var(--primary-color);color:#fff;border:none;padding:6px 12px;border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);cursor:pointer;transition:background-color .2s;width:100%}.manual-refresh-btn:hover:not(:disabled){background:var(--primary-dark)}.manual-refresh-btn:disabled{opacity:.6;cursor:not-allowed}@keyframes pulse-warning{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}}.timer-icon{font-size:1rem;animation:tick 1s infinite}@keyframes tick{0%,50%{transform:rotate(0)}75%{transform:rotate(15deg)}to{transform:rotate(0)}}.timer-text{font-family:Courier New,Consolas,monospace;letter-spacing:.5px}.user-info{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:#ffffffe6;font-weight:var(--font-weight-medium);background-color:#ffffff1a;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius);border:1px solid rgba(255,255,255,.2)}.user-icon{font-size:.9rem}.user-nickname{white-space:nowrap}.btn-outline-light{color:var(--text-white);border:1px solid rgba(255,255,255,.5);background-color:transparent;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius);font-size:var(--font-size-sm);transition:var(--transition-fast)}.btn-outline-light:hover{background-color:#ffffff1a;border-color:var(--text-white);transform:translateY(-1px)}.sidebar{width:160px;background-color:var(--bg-primary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;overflow-y:auto;transition:all .3s ease;transform:translate(0);scrollbar-width:none;-ms-overflow-style:none}.sidebar.closed{width:0;min-width:0;transform:translate(-100%);border-right:none}.sidebar-nav{flex:1;padding:var(--spacing-md) 0}.sidebar.open{transform:translate(0);visibility:visible;opacity:1}.nav-list{list-style:none;margin:0;padding:0}.nav-item{margin:0}.nav-link{display:flex;align-items:center;width:100%;padding:var(--spacing-md) var(--spacing-lg);background:none;border:none;text-align:left;color:var(--text-primary);text-decoration:none;transition:var(--transition-fast);cursor:pointer;font-size:12px;position:relative}.nav-link:hover{background-color:var(--bg-secondary);color:var(--primary-color);transform:translate(5px)}.nav-link.active{background-color:color-mix(in srgb,var(--primary-color) 10%,transparent);color:var(--primary-color);font-weight:var(--font-weight-medium)}.nav-link.active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background-color:var(--primary-color)}.nav-icon{margin-right:var(--spacing-md);min-width:24px;text-align:center}.nav-label{flex:1;font-weight:inherit}.expand-icon{margin-left:auto;font-size:10px;transition:transform .2s ease}.nav-sub-list{list-style:none;margin:0;padding:0;background-color:color-mix(in srgb,var(--bg-primary) 95%,var(--dark-color) 5%)}.nav-sub-item{margin:0}.nav-sub-link{display:flex;align-items:center;width:100%;padding:1rem var(--spacing-lg) 1rem calc(var(--spacing-lg) * 2);background:none;border:none;text-align:left;color:var(--text-secondary);text-decoration:none;transition:var(--transition-fast);cursor:pointer;font-size:12px;position:relative}.nav-sub-link:hover{background-color:var(--bg-secondary);color:var(--primary-color);transform:translate(3px)}.nav-sub-link.active{background-color:color-mix(in srgb,var(--primary-color) 15%,transparent);color:var(--primary-color);font-weight:var(--font-weight-medium)}.nav-sub-link.active:before{content:"";position:absolute;left:var(--spacing-lg);top:0;bottom:0;width:2px;background-color:var(--primary-color)}.main-content{flex:1;display:flex;background-color:var(--bg-secondary);overflow-y:auto;transition:all .3s ease;flex-direction:column;align-items:center}@media screen and (max-width: 1024px){.main-content{width:100%;margin-left:0}.top-bar{padding:var(--spacing-sm) var(--spacing-md)}.top-bar-left h2{font-size:1.25rem}.user-info{display:none}.sidebar-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;z-index:998;cursor:pointer}}@media screen and (max-width: 768px){.top-bar{padding:var(--spacing-sm)}.top-bar-right{gap:var(--spacing-sm)}}@media screen and (max-width: 480px){.top-bar-left h2{font-size:1rem}}.mobile-menu-toggle{display:none;background:none;border:none;color:var(--text-white);font-size:1.5rem;cursor:pointer;padding:var(--spacing-xs)}@media screen and (max-width: 1024px){.mobile-menu-toggle{display:block}}.pagination-container{display:flex;justify-content:center;margin-top:30px;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.pagination{display:flex;justify-content:center;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-xl);border-top:1px solid var(--primary-color)}.pagination-footer{flex-shrink:0;background-color:#fff;padding-bottom:10px;border-radius:5px}.pagination-info{text-align:center;margin-bottom:.5rem}.pagination-info .page-info{font-size:.875rem;color:#666;margin:0}.pagination-controls{display:flex;justify-content:center;align-items:center;gap:1rem;padding-top:10px;border-top:1px solid #efefef}.page-btn,.page-number{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--primary-light);background-color:var(--primary-color);color:var(--text-white);border-radius:var(--border-radius);cursor:pointer;transition:all .3s ease;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.page-btn:hover:not(:disabled),.page-number:hover{background-color:var(--primary-dark);color:var(--text-white);border-color:var(--primary-dark)}.page-btn:disabled{background-color:#ddd;color:var(--text-muted);cursor:not-allowed;border-color:var(--border-color)}.page-numbers{display:flex;gap:var(--spacing-xs)}.page-number.active{background-color:var(--primary-color);color:var(--text-white);border-color:var(--primary-color)}.catalog-info{display:flex;flex-direction:column;align-items:flex-end;gap:var(--spacing-xs)}.total-count{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--text-primary)}.page-info{font-size:var(--font-size-sm);color:var(--text-muted)}@media (max-width: 768px){.pagination{flex-wrap:wrap;gap:var(--spacing-xs)}.page-btn,.page-number{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs)}.catalog-info{align-items:flex-start}}
