:root{color-scheme:light;--color-primary-darkest: #0a2426;--color-primary-dark: #0f2a2c;--color-primary-deep: #245458;--color-primary: #2f7f92;--color-primary-hover: #256776;--color-primary-active: #1d525e;--color-primary-soft: #e5f1f2;--color-accent: #8fd13f;--color-accent-dark: #5f9e2a;--color-bg: #f4f7f7;--color-surface: #ffffff;--color-text: #16232a;--color-text-muted: #526066;--color-text-subtle: #7d8c92;--color-border: #d8e2e3;--color-border-strong: #b9cbcc;--color-danger: #b42318;--color-danger-bg: #fee4e2;--color-success: #05603a;--color-success-bg: #d1fadf;--color-warning: #93650a;--color-warning-bg: #fdf0c8;--color-info: #0a5c78;--color-info-bg: #e0f2f7;--color-neutral-bg: #e9eef0;--font-heading: "Prompt", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(10, 36, 38, .06);--shadow-md: 0 6px 16px -6px rgba(10, 36, 38, .18);--shadow-lg: 0 12px 32px -10px rgba(10, 36, 38, .22);--shadow-focus: 0 0 0 3px rgba(47, 127, 146, .25);font-family:var(--font-body)}*{box-sizing:border-box}body{margin:0;background:var(--color-bg);color:var(--color-text);line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-heading);color:var(--color-primary-dark);font-weight:700;line-height:1.25;margin:0 0 .75rem}h1{font-size:1.9rem;letter-spacing:-.01em;padding-bottom:.6rem;border-bottom:3px solid var(--color-accent);display:inline-block}h2{font-size:1.3rem}h3{font-size:1.05rem;color:var(--color-text)}p{color:var(--color-text-muted)}a{color:var(--color-primary);font-weight:600;text-decoration:none;transition:color .15s ease}a:hover{color:var(--color-primary-active);text-decoration:underline}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{background:linear-gradient(120deg,var(--color-primary-dark),var(--color-primary-darkest));padding:1.1rem 1.75rem;box-shadow:0 1px 6px #0a242647}.app-header__bar{display:flex;align-items:center;gap:1.5rem;max-width:1120px;margin:0 auto}.app-header__user{display:flex;align-items:center;gap:.75rem;margin-left:auto}.app-header__user-name{color:#fff;font-size:.85rem;font-weight:600}.app-header__user button{background:transparent;color:#fff;border-color:#fff6;padding:.4rem .9rem;font-size:.8rem}.app-header__user button:hover{background:#ffffff1f;border-color:#fff;color:#fff}.app-header__logo{height:32px;width:auto}.app-header nav{display:flex;gap:.5rem}.app-header nav a{color:#fff;text-decoration:none;font-weight:600;font-family:var(--font-heading);font-size:.9rem;letter-spacing:.02em;text-transform:uppercase;padding:.5rem .9rem;border-radius:var(--radius-sm);transition:background-color .15s ease,color .15s ease}.app-header nav a:hover,.app-header nav a:focus-visible{background:#ffffff1f;color:var(--color-accent);text-decoration:none}main{flex:1;width:100%;max-width:1120px;margin:0 auto;padding:2rem 1.5rem 3rem}.page h1{margin-bottom:1.5rem}.operation-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.1rem;margin-bottom:1.75rem}.operation-card{text-align:left;border:2px solid var(--color-border);border-radius:var(--radius-md);padding:1.15rem;background:var(--color-surface);cursor:pointer;box-shadow:var(--shadow-sm);transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.operation-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}button.operation-card{font-family:var(--font-body);color:var(--color-text);font-weight:400}.operation-card h3{margin:0 0 .5rem;font-family:var(--font-heading);color:var(--color-primary-dark)}.operation-card p{margin:0;color:var(--color-text-muted);font-size:.9rem}.operation-card--selected{border-color:var(--color-primary);background:var(--color-primary-soft);box-shadow:0 0 0 3px #2f7f922e}.operation-card--selected:hover{transform:none}.document-form{display:flex;flex-direction:column;gap:1.25rem}.form-section{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1.25rem 1.4rem 1.4rem;margin-bottom:0;background:var(--color-surface);box-shadow:var(--shadow-sm)}.form-section legend{font-family:var(--font-heading);font-weight:700;color:var(--color-primary-dark);padding:0 .4rem;font-size:1.02rem}.form-section summary{font-family:var(--font-heading);font-weight:700;color:var(--color-primary-dark);padding:0 .4rem;font-size:1.02rem;cursor:pointer;list-style:none}.form-section summary::-webkit-details-marker{display:none}.form-section summary:before{content:"▸";display:inline-block;margin-right:.5rem;transition:transform .15s ease}.form-section[open] summary:before{transform:rotate(90deg)}.form-section summary~*{margin-top:.85rem}.form-section label{display:block;margin-bottom:.85rem;font-size:.9rem;color:var(--color-text);font-weight:500}.form-section input,.form-section textarea,.form-section select{display:block;width:100%;margin-top:.35rem;padding:.55rem .75rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);box-sizing:border-box;font-size:.95rem;font-family:var(--font-body);color:var(--color-text);background:var(--color-surface);transition:border-color .15s ease,box-shadow .15s ease}.form-section input:hover,.form-section textarea:hover,.form-section select:hover{border-color:var(--color-primary)}.form-section input:focus,.form-section textarea:focus,.form-section select:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--shadow-focus)}.form-section input:disabled,.form-section textarea:disabled,.form-section select:disabled{background:var(--color-neutral-bg);color:var(--color-text-subtle);cursor:not-allowed}.equipment-group{display:flex;flex-direction:column;gap:1.1rem}.checkbox-label{display:flex;align-items:center;gap:.5rem}.checkbox-label input{width:auto;accent-color:var(--color-primary)}.equipment-detail{margin-left:1.6rem;margin-bottom:.65rem;padding-left:.85rem;border-left:2px solid var(--color-primary-soft)}.field-error,.form-error{color:var(--color-danger);font-size:.85rem;display:block;margin-top:.3rem;font-weight:500}.char-counter{font-size:.75rem;color:var(--color-text-subtle)}.actions{display:flex;gap:.75rem;margin:1rem 0;flex-wrap:wrap}button{cursor:pointer;border:1px solid transparent;border-radius:var(--radius-md);padding:.65rem 1.35rem;font-family:var(--font-heading);font-size:.92rem;font-weight:600;letter-spacing:.01em;transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .05s ease}button[type=submit]{background:var(--color-primary);color:#fff}button[type=submit]:hover:not(:disabled){background:var(--color-primary-hover)}button[type=submit]:active:not(:disabled){background:var(--color-primary-active);transform:translateY(1px)}button[type=button]{background:var(--color-surface);color:var(--color-primary-dark);border-color:var(--color-border-strong)}button[type=button]:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-soft)}button[type=button]:active:not(:disabled){transform:translateY(1px)}button:disabled{background:var(--color-neutral-bg);color:var(--color-text-subtle);border-color:var(--color-neutral-bg);cursor:not-allowed}a.button-link{display:inline-block;cursor:pointer;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);padding:.65rem 1.35rem;font-family:var(--font-heading);font-size:.92rem;font-weight:600;letter-spacing:.01em;text-decoration:none;background:var(--color-surface);color:var(--color-primary-dark);transition:background-color .15s ease,border-color .15s ease,color .15s ease}a.button-link:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-soft)}button.operation-card,button.preview-tab{border-color:transparent}.preview-tabs{margin-top:1.25rem}.preview-tabs__list{display:flex;gap:.4rem;margin-bottom:.75rem;flex-wrap:wrap}button.preview-tab{background:var(--color-neutral-bg);color:var(--color-text);padding:.5rem 1rem;border-radius:var(--radius-pill);font-size:.85rem}button.preview-tab:hover:not(.preview-tab--active){background:var(--color-primary-soft);color:var(--color-primary)}button.preview-tab--active{background:var(--color-primary);color:#fff}.preview-frame{width:100%;height:480px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;box-shadow:var(--shadow-sm)}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:var(--radius-pill);font-size:.78rem;font-weight:700;letter-spacing:.01em;background:var(--color-neutral-bg);color:var(--color-text-muted)}.status-badge--error{background:var(--color-danger-bg);color:var(--color-danger)}.status-badge--signed{background:var(--color-success-bg);color:var(--color-success)}.status-badge--pending{background:var(--color-neutral-bg);color:var(--color-text-muted)}.status-badge--partially_created,.status-badge--partially_signed{background:var(--color-warning-bg);color:var(--color-warning)}.status-badge--waiting_signatures{background:var(--color-info-bg);color:var(--color-info)}.status-badge--cancelled{background:var(--color-neutral-bg);color:var(--color-text-subtle);text-decoration:line-through}.document-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.1rem}.document-card{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1.25rem;background:var(--color-surface);box-shadow:var(--shadow-sm)}.signature-list{list-style:none;padding:0;margin:.75rem 0}.signature-list__item{padding:.65rem 0;border-bottom:1px solid var(--color-border);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem}.signature-list__item:last-child{border-bottom:none}.signature-status{display:inline-block;padding:.15rem .6rem;border-radius:var(--radius-pill);font-size:.75rem;font-weight:700;background:var(--color-neutral-bg);color:var(--color-text-muted);margin-right:.5rem}.signature-status--signed{background:var(--color-success-bg);color:var(--color-success)}.signature-status--pending{background:var(--color-warning-bg);color:var(--color-warning)}.signature-status--cancelled{background:var(--color-neutral-bg);color:var(--color-text-subtle);text-decoration:line-through}.operations-table{width:100%;border-collapse:collapse;background:var(--color-surface);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm)}.operations-table th,.operations-table td{text-align:left;padding:.75rem .9rem;border-bottom:1px solid var(--color-border)}.operations-table th{background:var(--color-primary-soft);color:var(--color-primary-dark);font-family:var(--font-heading);font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.02em}.operations-table tbody tr:hover{background:var(--color-bg)}.operations-table tbody tr:last-child td{border-bottom:none}.filters{display:flex;gap:1.25rem;margin-bottom:1.25rem;flex-wrap:wrap}.filters label{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;font-weight:600;color:var(--color-text-muted)}.filters select{padding:.5rem .75rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.9rem;color:var(--color-text);background:var(--color-surface);min-width:200px}.filters select:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--shadow-focus)}.pagination{display:flex;align-items:center;gap:1rem;margin-top:1.25rem;color:var(--color-text-muted);font-size:.9rem}.login-page{max-width:420px;margin:2rem auto 0}.login-form .form-section{display:flex;flex-direction:column;gap:.25rem}.login-form .actions{margin-top:0}.login-form button[type=submit]{width:100%}.notice{background:var(--color-primary-soft);border:1px solid rgba(47,127,146,.25);color:var(--color-primary-dark);padding:.85rem 1rem;border-radius:var(--radius-md)}@media (max-width: 640px){main{padding:1.25rem 1rem 2rem}.app-header{padding:.85rem 1rem}.app-header__bar{gap:.75rem}.app-header__logo{height:24px}.app-header nav{gap:.25rem}.app-header nav a{padding:.45rem .6rem;font-size:.8rem}h1{font-size:1.5rem}.filters{flex-direction:column;gap:.85rem}.filters select{min-width:0;width:100%}.operations-table{display:block;overflow-x:auto;white-space:nowrap}.actions{flex-direction:column}.actions button,.actions a.button-link{width:100%;text-align:center}}
