:root{--blue-700: #1E40C9;--blue-600: #2E5BFF;--blue-500: #3B6BFF;--blue-100: #DEE6FF;--blue-50: #F2F5FF;--green-600: #16A34A;--green-100: #D9F7E3;--amber-600: #B45309;--amber-100: #FDECC8;--red-600: #DC2626;--red-100: #FCE0E0;--gray-900: #1A2233;--gray-700: #42506B;--gray-500: #7C8AA5;--gray-300: #DDE3EE;--gray-200: #E8ECF3;--gray-100: #F3F5F9;--gray-50: #F8F9FC;--white: #FFFFFF;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--shadow-sm: 0 1px 2px rgba(20,30,60,.06);--shadow-md: 0 6px 20px rgba(20,30,60,.1);--shadow-lg: 0 20px 45px rgba(20,30,60,.18)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--gray-50);color:var(--gray-900);-webkit-font-smoothing:antialiased;min-height:100vh}button,input,select,textarea{font-family:inherit}.app-header{background:var(--white);border-bottom:1px solid var(--gray-200);padding:16px 28px;display:flex;align-items:center;justify-content:space-between;gap:16px;position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:10px}.brand-mark{width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,var(--blue-600),var(--blue-700));display:flex;align-items:center;justify-content:center;flex-shrink:0}.brand-mark svg{width:18px;height:18px}.brand-text h1{font-size:15px;font-weight:800;margin:0;letter-spacing:.2px}.brand-text p{font-size:12px;color:var(--gray-500);margin:0;font-weight:500}.breadcrumb{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--gray-500);font-weight:600;flex-wrap:wrap}.breadcrumb .crumb-link{color:var(--gray-500);text-decoration:none;cursor:pointer}.breadcrumb .crumb-link:hover,.breadcrumb .crumb-active{color:var(--blue-600)}.breadcrumb .sep{color:var(--gray-300)}main{max-width:1400px;margin:0 auto;padding:28px}.panel{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;border-bottom:1px solid var(--gray-100);flex-wrap:wrap}.panel-title-group{display:flex;align-items:center;gap:12px;min-width:0}.panel-title{font-size:14px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--gray-900);margin:0}.panel-subtitle{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--gray-500);font-weight:600;margin-top:2px;flex-wrap:wrap}.panel-subtitle .accent{color:var(--blue-600)}.back-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:9px;border:1px solid var(--gray-200);background:var(--white);color:var(--gray-700);cursor:pointer;flex-shrink:0;transition:.15s}.back-btn:hover{background:var(--gray-100);border-color:var(--gray-300)}.back-btn svg{width:16px;height:16px}.btn{display:inline-flex;align-items:center;gap:7px;padding:10px 16px;border-radius:9px;border:1px solid transparent;font-size:13.5px;font-weight:700;cursor:pointer;white-space:nowrap;transition:.15s ease;line-height:1}.btn svg{width:15px;height:15px}.btn-primary{background:var(--blue-600);color:#fff}.btn-primary:hover{background:var(--blue-700)}.btn-success{background:var(--green-600);color:#fff}.btn-success:hover{background:#128a3e}.btn-ghost{background:var(--white);color:var(--gray-700);border-color:var(--gray-300)}.btn-ghost:hover{background:var(--gray-100)}.btn-sm{padding:8px 12px;font-size:12px}.btn:disabled{opacity:.5;cursor:not-allowed}.search-wrap{position:relative;flex:1;min-width:200px;max-width:320px}.search-wrap svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);width:15px;height:15px;color:var(--gray-500)}.search-input{width:100%;padding:9px 12px 9px 32px;border-radius:9px;border:1px solid var(--gray-200);background:var(--gray-50);font-size:13.5px;color:var(--gray-900)}.search-input:focus{outline:none;border-color:var(--blue-500);background:var(--white)}.filter-select{padding:9px 30px 9px 12px;border-radius:9px;border:1px solid var(--gray-200);background:var(--gray-50);font-size:13px;font-weight:600;color:var(--gray-700);appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237C8AA5' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 9px center;background-size:13px;cursor:pointer}.filter-select:focus{outline:none;border-color:var(--blue-500)}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;background:linear-gradient(to right,var(--white) 30%,rgba(255,255,255,0)),linear-gradient(to right,rgba(255,255,255,0),var(--white) 70%) 100% 0,linear-gradient(to right,#141e3c14,#141e3c00),linear-gradient(to left,#141e3c14,#141e3c00) 100% 0;background-repeat:no-repeat;background-size:40px 100%,40px 100%,14px 100%,14px 100%;background-attachment:local,local,scroll,scroll}table{width:100%;border-collapse:collapse;min-width:560px}thead th{text-align:left;font-size:11.5px;font-weight:800;color:var(--gray-500);text-transform:uppercase;letter-spacing:.5px;padding:12px 24px;border-bottom:1px solid var(--gray-100);white-space:nowrap}tbody td{padding:14px 24px;font-size:13.5px;color:var(--gray-900);border-bottom:1px solid var(--gray-100);vertical-align:middle}tbody tr:last-child td{border-bottom:none}tbody tr.row-click{cursor:pointer;transition:background .12s}tbody tr.row-click:hover{background:var(--blue-50)}.col-actions{width:130px}.row-actions{display:flex;align-items:center;gap:6px;justify-content:flex-end}.row-action-btn{width:30px;height:30px;border-radius:8px;border:1px solid var(--gray-200);background:var(--white);color:var(--gray-500);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.15s;flex-shrink:0}.row-action-btn svg{width:14px;height:14px}.row-action-btn.view:hover{background:var(--blue-50);color:var(--blue-600);border-color:var(--blue-100)}.row-action-btn.edit:hover{background:var(--amber-100);color:var(--amber-600);border-color:var(--amber-100)}.row-action-btn.delete:hover{background:var(--red-100);color:var(--red-600);border-color:var(--red-100)}.cell-name{font-weight:700}.badge{display:inline-flex;align-items:center;padding:4px 11px;border-radius:99px;font-size:12px;font-weight:700;white-space:nowrap}.badge-green{background:var(--green-100);color:var(--green-600)}.badge-blue{background:var(--blue-100);color:var(--blue-600)}.badge-gray{background:var(--gray-200);color:var(--gray-700)}.badge-red{background:var(--red-100);color:var(--red-600)}.progress-cell{display:flex;align-items:center;gap:10px;min-width:130px}.progress-track{flex:1;height:6px;border-radius:99px;background:var(--gray-200);overflow:hidden}.progress-fill{height:100%;background:var(--blue-600);border-radius:99px;transition:width .3s}.progress-label{font-size:11.5px;color:var(--gray-500);font-weight:700;width:34px;text-align:right;flex-shrink:0}.empty-state{padding:60px 24px;text-align:center;color:var(--gray-500)}.empty-state svg{width:38px;height:38px;color:var(--gray-300);margin-bottom:10px;display:block;margin-left:auto;margin-right:auto}.empty-state p{margin:0;font-size:13.5px;font-weight:600}.empty-state span{font-size:12.5px;color:var(--gray-500)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.stats-grid.cols-3{grid-template-columns:repeat(3,1fr)}.stat-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:16px 18px;display:flex;align-items:center;gap:13px;box-shadow:var(--shadow-sm);min-width:0}.stat-icon{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon svg{width:18px;height:18px}.stat-icon.blue{background:var(--blue-100);color:var(--blue-600)}.stat-icon.green{background:var(--green-100);color:var(--green-600)}.stat-icon.amber{background:var(--amber-100);color:var(--amber-600)}.stat-icon.gray{background:var(--gray-200);color:var(--gray-700)}.stat-value{font-size:19px;font-weight:800;color:var(--gray-900);line-height:1.1}.stat-label{font-size:11.5px;color:var(--gray-500);font-weight:600;margin-top:2px}.overlay{position:fixed;inset:0;background:#11182d73;display:flex;align-items:center;justify-content:center;z-index:100;padding:20px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:420px;padding:24px;animation:pop .18s ease}@keyframes pop{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.modal-header h2{font-size:15px;font-weight:800;margin:0;letter-spacing:.3px}.modal-close{width:28px;height:28px;border-radius:7px;border:none;background:transparent;color:var(--gray-500);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.15s}.modal-close:hover{background:var(--gray-100);color:var(--gray-900)}.modal-close svg{width:16px;height:16px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.field{margin-bottom:16px}.field:last-of-type{margin-bottom:0}.field label{display:block;font-size:12.5px;font-weight:700;color:var(--gray-700);margin-bottom:6px}.field label .req{color:var(--red-600)}.field input,.field select{width:100%;padding:10px 12px;border-radius:8px;border:1px solid var(--gray-300);font-size:13.5px;color:var(--gray-900);background:var(--white)}.field input::placeholder,.field select::placeholder{color:var(--gray-500)}.field input:focus,.field select:focus{outline:none;border-color:var(--blue-500);box-shadow:0 0 0 3px var(--blue-100)}.field.error input,.field.error select{border-color:var(--red-600)}.field-error{display:none;color:var(--red-600);font-size:11.5px;font-weight:600;margin-top:5px}.field.error .field-error{display:block}.field label.step-select-label{display:flex;align-items:center;justify-content:space-between;gap:8px}.steps-select-toggle{font-size:11.5px;font-weight:700;color:var(--blue-600);background:none;border:none;cursor:pointer;padding:0;text-decoration:underline}.steps-select-toggle:hover{color:var(--blue-700)}.steps-checklist{max-height:220px;overflow-y:auto;border:1px solid var(--gray-200);border-radius:8px;padding:8px 10px;display:flex;flex-direction:column;gap:2px}.field.error .steps-checklist{border-color:var(--red-600)}.step-checkbox{display:flex;align-items:center;gap:8px;margin-bottom:0;font-size:13px;font-weight:400;color:var(--gray-900);padding:5px 4px;border-radius:6px;cursor:pointer}.step-checkbox:hover{background:var(--gray-50)}.step-checkbox input[type=checkbox]{width:15px;height:15px;accent-color:var(--blue-600);flex-shrink:0;cursor:pointer}.password-wrap{position:relative}.password-wrap input{padding-right:42px}.password-toggle{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:32px;height:32px;border:none;background:transparent;border-radius:7px;color:var(--gray-500);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.15s}.password-toggle:hover{background:var(--gray-100);color:var(--gray-700)}.password-toggle svg{width:17px;height:17px}.select-wrap{position:relative}.select-wrap svg{position:absolute;right:11px;top:50%;transform:translateY(-50%);width:14px;height:14px;color:var(--gray-500);pointer-events:none}.select-wrap select{appearance:none;-webkit-appearance:none;padding-right:34px}.pwa-banner{background:var(--blue-50);border-bottom:1px solid var(--blue-100);padding:10px 28px}.pwa-banner-row{display:flex;align-items:center;gap:12px;max-width:1200px;margin:0 auto}.pwa-banner-icon{width:30px;height:30px;border-radius:8px;background:var(--blue-100);color:var(--blue-600);display:flex;align-items:center;justify-content:center;flex-shrink:0}.pwa-banner-icon svg{width:15px;height:15px}.pwa-banner-text{flex:1;margin:0;font-size:13px;color:var(--gray-700);font-weight:500;line-height:1.5}.pwa-banner-link{background:none;border:none;padding:0;margin-left:6px;color:var(--blue-600);font-weight:700;font-size:13px;cursor:pointer;text-decoration:underline}.pwa-banner-link:hover{color:var(--blue-700)}.pwa-banner-close{width:26px;height:26px;border:none;background:transparent;color:var(--gray-500);border-radius:7px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:.15s}.pwa-banner-close svg{width:14px;height:14px}.pwa-banner-close:hover{background:var(--blue-100);color:var(--gray-900)}.pwa-banner-instructions{max-width:1200px;margin:8px auto 0 44px;font-size:12.5px;color:var(--gray-700);font-weight:500}@media (max-width: 640px){.pwa-banner{padding:10px 16px}.pwa-banner-instructions{margin-left:0}}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%) translateY(20px);background:var(--gray-900);color:#fff;padding:12px 20px;border-radius:10px;font-size:13px;font-weight:600;display:flex;align-items:center;gap:9px;box-shadow:var(--shadow-lg);opacity:0;pointer-events:none;transition:.25s ease;z-index:200}.toast svg{width:16px;height:16px;color:var(--green-600);flex-shrink:0}.toast.show{opacity:1;transform:translate(-50%) translateY(0)}.user-menu{display:flex;align-items:center;gap:10px;flex-shrink:0}.user-chip{display:flex;align-items:center;gap:9px}.user-avatar{width:32px;height:32px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg,var(--blue-600),var(--blue-700));color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;letter-spacing:.2px}.user-name{font-size:13px;font-weight:700;color:var(--gray-900);white-space:nowrap}.user-role{font-size:11px;color:var(--gray-500);font-weight:500}.logout-btn{width:34px;height:34px;border-radius:9px;border:1px solid var(--gray-200);background:var(--white);color:var(--gray-500);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.15s;flex-shrink:0}.logout-btn:hover{background:var(--red-100);color:var(--red-600);border-color:var(--red-100)}.logout-btn svg{width:16px;height:16px}.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:28px;background:var(--gray-50)}.auth-shell{display:flex;width:100%;max-width:920px;min-height:calc(100vh - 56px);max-height:640px;border-radius:22px;overflow:hidden;box-shadow:var(--shadow-lg);background:var(--white)}.auth-visual{flex:1 1 46%;position:relative;overflow:hidden;background:linear-gradient(150deg,var(--blue-600) 0%,var(--blue-700) 65%,#152f8f 100%);color:#fff;padding:44px 40px;display:flex;flex-direction:column;justify-content:space-between}.auth-visual:before,.auth-visual:after{content:"";position:absolute;border-radius:50%;background:#ffffff14}.auth-visual:before{width:280px;height:280px;top:-90px;right:-90px}.auth-visual:after{width:200px;height:200px;bottom:-60px;left:-50px;background:#ffffff0f}.auth-visual-top{position:relative;z-index:1;display:flex;align-items:center;gap:12px}.auth-visual-top .brand-mark{width:40px;height:40px;border-radius:11px;background:#ffffff29}.auth-visual-top .brand-mark svg{width:22px;height:22px}.auth-visual-top span{font-size:16px;font-weight:800;letter-spacing:.2px}.auth-visual-mid{position:relative;z-index:1;margin:auto 0}.auth-visual-mid h2{font-size:24px;font-weight:800;line-height:1.3;margin:0 0 10px;letter-spacing:-.2px}.auth-visual-mid p{font-size:13.5px;line-height:1.6;color:#ffffffd1;margin:0;max-width:340px}.auth-features{position:relative;z-index:1;display:flex;flex-direction:column;gap:16px}.auth-feature{display:flex;gap:12px;align-items:flex-start}.auth-feature-icon{width:32px;height:32px;border-radius:9px;background:#ffffff29;display:flex;align-items:center;justify-content:center;flex-shrink:0}.auth-feature-icon svg{width:16px;height:16px}.auth-feature-text strong{display:block;font-size:13px;font-weight:700}.auth-feature-text span{font-size:12px;color:#ffffffc7}.auth-form-panel{flex:1 1 54%;padding:46px;display:flex;flex-direction:column;justify-content:center;overflow-y:auto}.auth-form-header{margin-bottom:26px}.auth-form-header h2{font-size:20px;font-weight:800;margin:0 0 6px;letter-spacing:-.2px}.auth-form-header p{font-size:13px;color:var(--gray-500);margin:0;font-weight:500}.auth-error{display:flex;align-items:center;gap:8px;background:var(--red-100);color:var(--red-600);font-size:12.5px;font-weight:600;padding:10px 12px;border-radius:8px;margin-bottom:15px}.auth-error svg{width:15px;height:15px;flex-shrink:0}.auth-actions{margin-top:20px}.auth-actions .btn{width:100%;justify-content:center;padding:11px;font-size:13.5px}.auth-hint{margin-top:22px;padding:12px 14px;background:var(--blue-50);border:1px solid var(--blue-100);border-radius:9px;font-size:11.5px;color:var(--gray-700);line-height:1.6}.auth-hint strong{color:var(--blue-700)}.auth-hint code{background:var(--white);border:1px solid var(--blue-100);padding:1px 6px;border-radius:4px;font-family:ui-monospace,SF Mono,Consolas,monospace}.steps-layout{display:flex;gap:22px;align-items:flex-start;margin-top:22px}.steps-main{flex:1;min-width:0}.steps-side{width:290px;flex-shrink:0;display:flex;flex-direction:column;gap:16px}.steps-list{display:flex;flex-direction:column;gap:10px;padding:20px}.steps-footer{display:flex;justify-content:flex-end;padding:16px 24px;border-top:1px solid var(--gray-100)}.steps-header-actions{display:flex;gap:8px;flex-shrink:0}.steps-progress-summary{display:flex;align-items:center;gap:9px;margin-top:6px}.steps-progress-summary .progress-track{width:130px;height:6px}.steps-progress-summary .progress-label{font-size:11.5px;color:var(--gray-500);font-weight:700}.step-card{border:1px solid var(--gray-200);border-radius:12px;overflow:hidden;background:var(--white)}.step-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;background:var(--gray-50);border-bottom:1px solid var(--gray-200);flex-wrap:wrap;cursor:pointer;-webkit-user-select:none;user-select:none}.step-card-header-left{display:flex;align-items:center;gap:11px;min-width:0}.step-index{width:26px;height:26px;border-radius:8px;background:var(--white);border:1px solid var(--gray-300);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:11.5px;color:var(--gray-700);flex-shrink:0}.step-title{font-weight:700;font-size:13.5px;color:var(--gray-900)}.step-card-header-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.exchange-count{font-size:11.5px;color:var(--gray-500);font-weight:600;white-space:nowrap}.step-chevron{width:26px;height:26px;border-radius:7px;display:flex;align-items:center;justify-content:center;color:var(--gray-500);flex-shrink:0;transition:transform .18s ease}.step-chevron svg{width:15px;height:15px}.step-chevron.rotated{transform:rotate(180deg)}.step-card-body{display:none;padding:6px 16px 14px}.step-card-body.visible{display:block}.step-status-tag{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;padding:3px 9px;border-radius:99px;white-space:nowrap}.step-status-tag.pending{background:var(--gray-100);color:var(--gray-500)}.step-status-tag.sent{background:var(--blue-100);color:var(--blue-600)}.step-status-tag.received{background:var(--green-100);color:var(--green-600)}.exchange-row{display:flex;align-items:center;gap:18px;padding:11px 0;border-bottom:1px dashed var(--gray-200);flex-wrap:wrap}.exchange-row:last-of-type{border-bottom:none}.exchange-num{font-size:10.5px;font-weight:800;color:var(--gray-500);width:18px;flex-shrink:0}.exchange-flow{display:flex;gap:20px;flex:1;flex-wrap:wrap;min-width:0}.exchange-actions{margin-left:auto;flex-shrink:0}.exchange-remove{width:26px;height:26px;border-radius:7px;border:1px solid var(--gray-200);background:var(--white);color:var(--gray-500);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.15s}.exchange-remove:hover{background:var(--red-100);color:var(--red-600);border-color:var(--red-100)}.exchange-remove svg{width:13px;height:13px}.add-exchange-btn{margin-top:4px;display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--blue-600);background:var(--blue-50);border:1px dashed var(--blue-100);padding:7px 13px;border-radius:8px;cursor:pointer;transition:.15s;flex-shrink:0}.add-exchange-btn:hover{background:var(--blue-100)}.add-exchange-btn:disabled{opacity:.5;cursor:not-allowed}.add-exchange-btn:disabled:hover{background:var(--blue-50)}.add-exchange-btn svg{width:13px;height:13px}.add-step-row{display:flex;align-items:center;gap:10px}.add-step-input{flex:1;padding:9px 12px;border-radius:8px;border:1px solid var(--gray-300);font-size:13px;color:var(--gray-900);background:var(--white)}.add-step-input::placeholder{color:var(--gray-500)}.add-step-input:focus{outline:none;border-color:var(--blue-500);box-shadow:0 0 0 3px var(--blue-100)}.flow-group{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:230px}.flow-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.flow-label{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:var(--gray-500);width:40px;flex-shrink:0}.flow-group.is-sent .flow-label{color:var(--blue-600)}.flow-group.is-received .flow-label{color:var(--green-600)}.date-field{display:flex;align-items:center;gap:6px;border:1px solid var(--gray-200);border-radius:8px;padding:7px 10px;background:var(--gray-50);max-width:150px;flex:1}.date-field input{border:none;background:transparent;font-size:12.5px;color:var(--gray-900);width:100%;padding:0}.date-field input:focus{outline:none}.date-field input:disabled{color:var(--gray-500)}.date-field svg{width:13px;height:13px;color:var(--gray-500);flex-shrink:0}.date-field.is-disabled{opacity:.55}.checkbox{width:20px;height:20px;border-radius:6px;border:1.5px solid var(--gray-300);background:var(--white);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.15s;padding:0;flex-shrink:0}.checkbox svg{width:13px;height:13px;opacity:0;transition:.15s;stroke:#fff}.checkbox.checked{background:var(--green-600);border-color:var(--green-600)}.checkbox.checked svg{opacity:1}.checkbox:disabled{cursor:not-allowed;opacity:.4}.comment-toggle{background:none;border:none;color:var(--gray-500);cursor:pointer;display:flex;align-items:center;gap:4px;font-size:11px;font-weight:700;padding:5px 8px;border-radius:6px;flex-shrink:0;transition:.15s}.comment-toggle:hover{background:var(--gray-100)}.comment-toggle.has-comment{color:var(--blue-600);background:var(--blue-50)}.comment-toggle svg{width:13px;height:13px}.comment-box{width:100%;max-width:420px}.comment-box textarea{width:100%;min-height:52px;border:1px solid var(--gray-200);border-radius:8px;padding:8px 10px;font-size:12.5px;font-family:inherit;color:var(--gray-900);background:var(--gray-50);resize:vertical}.comment-box textarea::placeholder{color:var(--gray-500)}.comment-box textarea:focus{outline:none;border-color:var(--blue-500);background:var(--white);box-shadow:0 0 0 3px var(--blue-100)}.document-field{width:100%;max-width:420px}.document-chip{display:flex;align-items:center;gap:6px;padding:5px 6px 5px 9px;border:1px solid var(--gray-200);border-radius:8px;background:var(--gray-50);max-width:100%}.document-icon{width:14px;height:14px;color:var(--gray-500);flex-shrink:0}.document-name{font-size:12px;color:var(--gray-900);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.document-action{width:24px;height:24px;border-radius:6px;border:none;background:transparent;color:var(--gray-500);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:.15s}.document-action:hover{background:var(--blue-100);color:var(--blue-600)}.document-action.document-action-remove:hover{background:var(--red-100);color:var(--red-600)}.document-action svg{width:13px;height:13px}.document-upload{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:var(--gray-500);background:var(--white);border:1px dashed var(--gray-300);padding:6px 10px;border-radius:8px;cursor:pointer;transition:.15s}.document-upload:hover{border-color:var(--blue-500);color:var(--blue-600);background:var(--blue-50)}.document-upload.is-disabled{cursor:not-allowed;opacity:.5}.document-upload.is-disabled:hover{border-color:var(--gray-300);color:var(--gray-500);background:var(--white)}.document-upload svg{width:13px;height:13px}.payments-panel{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.payments-panel-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;border-bottom:1px solid var(--gray-100)}.payments-panel-header h3{font-size:13px;font-weight:800;color:var(--gray-900);margin:0;display:flex;align-items:center;gap:8px}.payments-panel-header h3 svg{width:16px;height:16px;color:var(--blue-600);flex-shrink:0}.icon-btn-add{width:28px;height:28px;border-radius:8px;background:var(--blue-50);color:var(--blue-600);border:1px solid var(--blue-100);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:.15s}.icon-btn-add:hover{background:var(--blue-100)}.icon-btn-add svg{width:15px;height:15px}.payments-panel-body{padding:14px 16px}.payments-list{display:flex;flex-direction:column;gap:8px;max-height:260px;overflow-y:auto}.payment-row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:9px 10px;border:1px solid var(--gray-100);border-radius:8px;background:var(--gray-50)}.payment-row-main{min-width:0}.payment-amount{font-size:12.5px;font-weight:800;color:var(--gray-900)}.payment-date{font-size:11px;color:var(--gray-500);font-weight:600;margin-top:1px}.payment-comment{font-size:11.5px;color:var(--gray-700);margin-top:4px;line-height:1.4;word-break:break-word}.payment-remove{width:24px;height:24px;border-radius:6px;border:1px solid var(--gray-200);background:var(--white);color:var(--gray-500);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:.15s}.payment-remove:hover{background:var(--red-100);color:var(--red-600);border-color:var(--red-100)}.payment-remove svg{width:12px;height:12px}.budget-empty{font-size:12px;color:var(--gray-500);line-height:1.5;padding:4px 0}.confirm-modal{max-width:380px!important;text-align:center;padding:28px 26px 24px!important}.confirm-icon{width:52px;height:52px;border-radius:50%;background:var(--red-100);color:var(--red-600);display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.confirm-icon svg{width:24px;height:24px}.confirm-modal h2{font-size:16px;font-weight:800;margin:0 0 8px}.confirm-modal p{font-size:13px;color:var(--gray-500);margin:0;line-height:1.5}.confirm-modal p strong{color:var(--gray-900)}.confirm-actions{display:flex;gap:10px;margin-top:22px}.confirm-actions .btn{flex:1;justify-content:center}@media (max-width: 980px){.steps-layout{flex-direction:column}.steps-side{width:100%;flex-direction:row;flex-wrap:wrap}.steps-side>div{flex:1;min-width:240px}}@media (max-width: 900px){.stats-grid,.stats-grid.cols-3{grid-template-columns:repeat(2,1fr)}}@media (max-width: 860px){.auth-shell{max-height:none;min-height:0}.auth-visual{display:none}.auth-form-panel{padding:40px 28px}}@media (max-width: 760px){.user-name,.user-role{display:none}}@media (max-width: 640px){.app-header{padding:14px 16px}main{padding:16px}.panel-header{padding:16px}thead th,tbody td{padding:10px 14px}.breadcrumb,.brand-text p{display:none}.steps-footer{padding:14px 16px}.exchange-row{gap:10px}.exchange-flow{gap:12px}.exchange-actions{margin-left:0}}@media (max-width: 560px){table{min-width:0}.col-hide-sm{display:none}.progress-cell{min-width:0;gap:6px}.col-actions{width:auto}.row-actions{gap:4px}.row-action-btn{width:26px;height:26px}}@media (max-width: 480px){.stats-grid,.stats-grid.cols-3{grid-template-columns:1fr}}@media (max-width: 420px){.auth-screen{padding:16px}.auth-form-panel{padding:32px 20px}}
